※あまり真剣な質問ではないです
ここに3つのプログラムがあります。それぞれ1重,2重,3重のループ構造をしています。
lang=JavaScript
1//a1 2for(var i=1,s='';i<=5;i++)s+=i; 3//=> 12345 4 5//a2 6for(var i=1,j,s='';i<=5;i++)for(j=1;j<=i;j++)s+=j; 7//=> 112123123412345 8 9//a3 10for(var i=1,j,k,s='';i<=5;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)s+=k; 11//=> 11121121231121231234112123123412345
これらのループをn重にするためにこう書きました。
lang=JavaScript
1var s=''; 2function loop(i, nest){ 3 if(nest)for(var j=1;j<=i;j++)loop(j,nest-1); 4 else s+=i; 5} 6loop(5,5); 7//=> 111112111121112112123111121112112123111211212311212312341111211121121231112112123112123123411121121231121231234112123123412345
さらに、n重から(n重)重にしようと、こう書きました。
lang=JavaScript
1var s=''; 2function looop(i, nest){ 3 if(nest)for(var j=1;j<=i;j++)looop(j,nest-1); 4 else loop(i, i); 5} 6function loop(i, nest){ 7 if(nest)for(var j=1;j<=i;j++)loop(j,nest-1); 8 else s+=i; 9} 10looop(5,5); 11//=> 11111112111111211111211112111211121121231111112111112111121112111211212311111211112111211121121231111211121112112123111211121121231111211121121231112112123112123123411111121111121111211121112112123111112111121112111211212311112111211121121231112111211212311112111211212311121121231121231234111112111121112111211212311112111211121121231112111211212311112111211212311121121231121231234111121112111211212311121112112123111121112112123111211212311212312341112111211212311112111211212311121121231121231234111112111121112112123111121112112123111211212311212312341111211121121231112112123112123123411121121231121231234112123123412345
同じようにloooop, looooop, ...と関数を作っていったとき、oの数が(n+1)個の関数を(x,y)と呼び出すことをlooploop(n,x,y)と書くにはlooploop関数をどうすればよいですか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/02 15:35