davidktw
Arch-Supremacy Member
- Joined
- Apr 15, 2010
- Messages
- 13,547
- Reaction score
- 1,301
Groovy
Java-script
If you are observant, you will be asking the right questions.

Java:
m = null
def f(i) {
if (m == null) m = new long[i+1]
return m[i] = i<2?1:(m[i]!=0?m[i]:f(i-1) as long+f(i-2))
}
println f(args[0] as int);
Java-script
Java:
import static java.lang.System.*;
import static java.lang.Integer.*;
long[] m = null
long f(int i) {
if (m == null) m = new long[i+1];
return m[i]=i<2?1:(m[i]>0?m[i]:f(i-1)+f(i-2));
}
out.println(f(parseInt(getProperty("args"))))
exit(0)
Bash:
$ time ./fib.java 100
1298777728820984005
real 0m1.239s
user 0m2.772s
sys 0m0.257s
$ time ./fib.java 100
1298777728820984005
real 0m0.963s
user 0m2.853s
sys 0m0.176s
$ time ./fib.java 100
1298777728820984005
real 0m0.901s
user 0m2.598s
sys 0m0.171s
$ time ./fib.groovy 100
1298777728820984005
real 0m1.608s
user 0m4.288s
sys 0m0.372s
$ time ./fib.groovy 100
1298777728820984005
real 0m1.505s
user 0m4.553s
sys 0m0.345s
$ time ./fib.groovy 100
1298777728820984005
real 0m1.476s
user 0m4.486s
sys 0m0.326s
$
If you are observant, you will be asking the right questions.
Last edited: