Dynamic N = 500000000 f[i] = (f[(i-1)/2]*f[i/2]+f[(i+1)/2]*f[(i+2)/2])%29 f[N-1] = 5 real 1m12.470s user 0m6.672s sys 0m4.532s Dynamic N = 500000000 f[i] = (f[(i-1)/2]*f[i/2]+f[(i+1)/2]*f[(i+2)/2])%29 f[N-1] = 5 real 0m41.263s user 0m6.552s sys 0m3.004s Dynamic N = 500000000 f[i] = (f[(i-1)/2]*f[i/2]+f[(i+1)/2]*f[(i+2)/2])%29 f[N-1] = 5 real 0m33.675s user 0m6.384s sys 0m2.364s Dynamic N = 500000000 f[i] = (f[(i-1)/2]*f[i/2]+f[(i+1)/2]*f[(i+2)/2])%29 f[N-1] = 5 real 0m20.263s user 0m6.388s sys 0m2.384s Dynamic N = 30000000 f[i] = (f[(i-1)/2]*f[i/2]+f[(i+1)/2]*f[(i+2)/2])%29 f[N-1] = 1 real 0m0.447s user 0m0.384s sys 0m0.060s Dynamic N = 3000000 f[i] = (f[(i-1)/2]*f[i/2]+f[(i+1)/2]*f[(i+2)/2])%29 f[N-1] = 5 real 0m0.047s user 0m0.040s sys 0m0.004s Dynamic N = 300000 f[i] = (f[(i-1)/2]*f[i/2]+f[(i+1)/2]*f[(i+2)/2])%29 f[N-1] = 13 real 0m0.007s user 0m0.004s sys 0m0.000s Dynamic N = 30000 f[i] = (f[(i-1)/2]*f[i/2]+f[(i+1)/2]*f[(i+2)/2])%29 f[N-1] = 2 real 0m0.003s user 0m0.000s sys 0m0.000s Recursion N = 30000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(N-1) = 2 real 0m4.893s user 0m4.892s sys 0m0.000s Recursion N = 3000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(N-1) = 2 real 0m0.049s user 0m0.048s sys 0m0.000s Recursion N = 30000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(N-1) = 2 real 0m4.895s user 0m4.892s sys 0m0.000s Memoization N = 200000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(199999)=5 Size = 59 Height = 15 real 0m0.002s user 0m0.000s sys 0m0.000s Memoization N = 30000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(29999)=2 Size = 50 Height = 10 real 0m0.002s user 0m0.000s sys 0m0.000s Memoization N = 300000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(299999)=13 Size = 62 Height = 12 real 0m0.002s user 0m0.000s sys 0m0.000s Memoization N = 3000000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(2999999)=5 Size = 74 Height = 15 real 0m0.002s user 0m0.000s sys 0m0.000s Memoization N = 30000000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(29999999)=1 Size = 87 Height = 10 Memoization N = 50000000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(49999999)=13 Size = 89 Height = 10 real 0m0.002s user 0m0.000s sys 0m0.000s Memoization N = 500000000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(499999999)=5 Size = 102 Height = 11 real 0m0.002s user 0m0.000s sys 0m0.000s Memoization N = 5000000000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(4999999999)=1 Size = 114 Height = 11 real 0m0.002s user 0m0.000s sys 0m0.000s Memoization N = 50000000000 f(i) = (f((i-1)/2)*f(i/2)+f((i+1)/2)*f((i+2)/2))%29 f(49999999999)=5 Size = 126 Height = 14 real 0m0.002s user 0m0.000s sys 0m0.000s