[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 23:06 / Filesize : 157 KB / Number-of Response : 727
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラム板雑談スレッド Part 3



238 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:53:30 ]
どの例題?

難しく考えるから難しいんだと思うけどねぇ。
例えば、これでも難しい?

int mul(int number, int iteration)
{
if (iteration == 1) return number; // 「繰り返し回数(iteration)」が1回なら「指定数値(number)」を(そのまま)返す
return number + mul(number, iteration - 1); // (そうでないなら)「指定数値」と「繰り返し回数」を一つ減らして自身を呼び出した結果を足して、その値を返す
}

例えばmul(5, 3)なら、
(最初の行は該当しないので)5とmul(5, 3 - 1)の結果を足して返す
と言うことになる。
で、mul(5, 3 - 1)は当然mul(5, 2)だから、
(最初の行は該当しないので)5とmul(5, 2 - 1)の結果を足して返す
となる。
更に、mul(5, 2 - 1)はmul(5, 1)だから
(最初の行に該当して)5を返す
となる。
つまり、mul(5, 3)に立ち返れば
5とmul(5, 3 - 1)の結果を足して返す

5と 5とmul(5, 2 - 1)の結果を足して返す を足して返す

5と 5と 5を返す を足して返す を足して返す
となって、
5と 5と5を足して返す を足して返す

5と5と5を足して返す
となる。
こんだけ。ちっとも難しくは無いでしょ。めんどくさいけどw






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<157KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef