Advertisement
Guest User

Invitation to the party

a guest
Oct 24th, 2015
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.08 KB | None | 0 0
  1. //used this program solving http://puzzling.stackexchange.com/questions/22353/invitation-to-the-party
  2.  
  3. import java.math.BigInteger;
  4. import java.util.HashMap;
  5.  
  6. public class Main {
  7.     static HashMap<Integer,BigInteger> cache = new HashMap<Integer, BigInteger>();
  8.    
  9.     public static void main(String[] args) {
  10.         cache.put(1, BigInteger.ONE);
  11.         cache.put(2, BigInteger.ONE);
  12.         cache.put(3, BigInteger.valueOf(2l));
  13.         cache.put(4, BigInteger.valueOf(3l));
  14.         cache.put(5, BigInteger.valueOf(3l));
  15.         cache.put(6, BigInteger.valueOf(5l));
  16.  
  17.         System.out.println(totalInvites(24));
  18.         System.out.println(totalInvites(25));
  19.         System.out.println(totalInvites(180));
  20.     }
  21.    
  22.     public static BigInteger invites(int minutes) {
  23.         if (!cache.containsKey(minutes)) {
  24.             cache.put(minutes, invites(minutes - 1).add(invites(minutes - 3)).add(invites(minutes - 6)));
  25.         }
  26.         return cache.get(minutes);
  27.     }
  28.    
  29.     public static BigInteger totalInvites(int minutes) {
  30.         BigInteger result = BigInteger.ZERO;
  31.         for (int i=1; i<=minutes;i++) {
  32.             result = result.add(invites(i));
  33.         }
  34.         return result;
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement