階乗。factorial(Number)
//再帰を使わない。 var factorial = function(n){ n = Math.floor(Math.abs(n)); if(n == 0) return 1; var m = 1; for(var i=1; i<=n; i++) m *= i; return m; };
//再帰を使う。 var factorial = function(n){ n = Math.floor(Math.abs(n)); if(n == 0) return 1; else return n * arguments.callee(n-1); };
フィボナッチ数列。fibonacci(Number)
//再帰を使わない。 var fibonacci = function(n){ n = Math.floor(Math.abs(n)); if(n <= 2) return 1; var m = [1,1,0]; for(var i=1; i<=n; i++){ m[2] = m[0] + m[1]; m[0] = m[1]; m[1] = m[2]; } return m[2]; };
//再帰を使う。 var fibonacci = function(n){ n = Math.floor(Math.abs(n)); if(n <= 2) return 1; else return arguments.callee(n-1) + arguments.callee(n-2); };