再帰っていいよね

組み合わせを出さないといけなくなって作るのめんどくさくなったからPGで出力。1〜4までの数字の組み合わせを出そうとしたとして、javascriptで単純に書こうとすると、

var combination = function() { for(var i=1 ; i<=4 ; i++) { for(var j=1 ; j<=4 ; j++) { // めんどくさいのでここまで } } } [/code]

って言うのがすぐ思い浮かぶけど、これだと書くほうがめんどくさい。しかも数字の種類が4個だからまだいけるけどこれが100個とかなると死ぬことになる。なので再帰。

var length = 4; var combination = function(start, comb) { if(typeof comb === ‘undefined’) comb = ”; if(comb.length == length) { console.log(comb); } else { for(var i=start ; i<=length ; i++) { tempComb = comb + "" + i; combination(i, tempComb); } } } [/code]

これなら100個になろうが1000個になろうが余裕。再帰素晴らしい。