The Squirrel interpreter. See http://www.squirrel-lang.org/

Dependents:   Squirrel

samples/ackermann.nut

Committer:
jhnwkmn
Date:
2014-12-16
Revision:
0:97a4f8cc534c

File content as of revision 0:97a4f8cc534c:

/*
*
* Original Javascript version by David Hedbor(http://www.bagley.org/~doug/shootout/)
*
*/

function Ack(M, N) {
    if (M == 0) return( N + 1 );
    if (N == 0) return( Ack(M - 1, 1) );
    return( Ack(M - 1, Ack(M, (N - 1))) );
}

local n;

if(vargv.len()!=0) {
   n = vargv[0].tointeger();
  if(n < 1) n = 1;
} else {   
  n = 1;
}
print("n="+n+"\n");
print("Ack(3,"+ n+ "):"+ Ack(3, n));