javascript上でユークリッドの互除法で最大公約数を計算する。
a>bの条件下でしか動作しないが、まあいいだろう。
js> (function(a,b){return(r=a%b)<1?b:arguments.callee(b,r)})(1071,1029) 21 js> (function gcd(a,b){return(r=a%b)<1?b:gcd(b,r)})(1071,1029) 21
追記:対応したバージョン
js> function b(x,y){if(y==0){return x}else{if(x<y){return b(y,x)}else{return b(y,x%y)}}} js> b(2,3) 1 js> b(10,15) 5 js> b=function(x,y){return y==0?x:x<y?b(y,x):b(y,x%y)} function (x, y) { return y == 0 ? x : x < y ? b(y, x) : b(y, x % y); } js> b(10,15) 5