• Source
    1. import java.math.BigInteger;
    2. import java.util.Scanner;
    3.  
    4. public class Main {
    5.  
    6. public static void main(String[] args) {
    7.  
    8. BigInteger mul = new BigInteger(String.valueOf(2));
    9.  
    10. BigInteger[] arr = new BigInteger[1003];
    11.  
    12. arr[1] = new BigInteger(String.valueOf(2));
    13.  
    14. arr[2] = new BigInteger(String.valueOf(5));
    15.  
    16. arr[3] = new BigInteger(String.valueOf(13));
    17.  
    18. for (int i = 4; i <= 1000; i++) {
    19.  
    20. arr[i] = ((arr[i - 1].multiply(mul)).add(arr[i - 2]));
    21.  
    22. arr[i] = arr[i].add(arr[i - 3]);
    23. }
    24.  
    25. Scanner sc = new Scanner(System.in);
    26.  
    27. int num;
    28.  
    29. while (sc.hasNext()) {
    30.  
    31. num = sc.nextInt();
    32.  
    33. System.out.println(""+arr[num]);
    34. }
    35. }
    36. }