@ -0,0 +1,17 @@ | |||||
fun f(n) { if (n < 2) 1 else 1 + f(n-1) + f(n-2) } | |||||
start = microseconds(); | |||||
n = f(30); | |||||
print(n, "\n"); | |||||
time = microseconds() - start; | |||||
secs = time / 1000000; | |||||
usec = String(time % 1000000); | |||||
while (length(usec) < 6) usec = "0"+usec; | |||||
print(secs, ".", usec, " seconds\n"); | |||||
print(n * 1000 / (time / 1000), " function calls per second\n"); |
@ -0,0 +1,37 @@ | |||||
fun sieve(n) { | |||||
var nPrimes= 0; | |||||
var isPrime= {}; | |||||
var i= 0; | |||||
while (i < n) { | |||||
isPrime[i]= 1; | |||||
i= i+1; | |||||
} | |||||
i= 2; | |||||
while (i < n) { | |||||
if (isPrime[i]) { | |||||
nPrimes = nPrimes + 1; | |||||
var j= i+i; | |||||
while (j < n) { | |||||
isPrime[j]= 0; | |||||
j= j + i; | |||||
} | |||||
} | |||||
i = i + 1; | |||||
} | |||||
return nPrimes; | |||||
} | |||||
start = microseconds(); | |||||
for (var i= 0; i < 20; i = i + 1) { | |||||
print(sieve(8192), "\n"); | |||||
} | |||||
time = microseconds() - start; | |||||
secs = time / 1000000; | |||||
usec = String(time % 1000000); | |||||
while (length(usec) < 6) usec = "0"+usec; | |||||
print(secs, ".", usec, " seconds\n"); |