package demo; /** Source code sent to scriptol by: Christian Clausen Computer scientist - Aarhus University - Denmark */ import java.util.Date; public class Main { private static long[] fib; public static void main(String[] args) { Long t1; int maxi = Integer.parseInt(args[0]); // recursive t1 = new Date().getTime(); System.out.println("Recursive:"); System.out.println(rec(maxi)); System.out.println(new Date().getTime() - t1); // iterative System.out.println("Iterative:"); t1 = new Date().getTime(); System.out.println(ite(maxi)); System.out.println(new Date().getTime() - t1); } private static long rec(int n){ if(fib==null){ fib = new long[n+1]; for(int i = 0; i< n+1; i++) fib[i] = -1; } if(fib[n]==-1) if(n < 2) fib[n] = n; else fib[n] = rec(n-1) + rec(n-2); return fib[n]; } private static long ite(int n){ long[] ita = new long[n+1]; ita[0] = 0; ita[1] = 1; for(int i = 2; i < n+1; i++){ ita[i] = ita[i-1] + ita[i-2]; } return ita[n]; } }