! ack 802831247 0 0 664 159 ` func ack(a, b) { n = n+1 if(a == 0) return (b+1) if(b == 0) return (ack(a - 1, 1)) return (ack($1 - 1, ack(a, b - 1))) } n=0 ack(3,3) print n, "calls\n" ack1 802831362 0 0 664 194 ` func ack(a, b) { n = n+1 if(a == 0) return (b+1) if(b == 0) return (ack(a - 1, 1)) return (ack(a - 1, ack(a, b - 1))) } n=0 while (read(x)) { read(y) print ack(x,y), "\n" } print n,"\n" double 802831395 0 0 664 87 ` proc double(){ } proc double(x){ if(x > 1){ double(x/2) } print(x) } double(1024) fac 802831080 0 0 664 63 ` func fac(a) { if (a <= 0) return 1 else return a * fac(a-1) } fac1 802831478 0 0 664 80 ` func fac(a) if (a <= 0) return 1 else return a * fac(a-1) fac(0) fac(7) fac(10) fac2 802831524 0 0 664 140 ` func fac(i) { if (i <= 0) { return 1 } return i * fac(i-1) } i=0 while(i<=20){ print "factorial of ", i, "is ", fac(i), "\n" i=i+1 } fib 802831546 0 0 664 98 ` proc fib(n) { a = 0 b = 1 while (b < n) { print b c = b b = a+b a = c } print "\n" } fib2 802827762 0 0 664 80 ` { n=0 a=0 b=1 while(b<10000000){ n=n+1 c=b b=a+b a=c print(b) } print(n) } fibsum 802831600 0 0 664 144 ` proc fib(n){ a=1 b=1 c=2 d=3 sum = a+b+c+d while(d