問題
選択肢
- 15
- 210
- 315
- 425
正解
3. 15
詳しい解説を見る解説を閉じる
解説
sumNは自分自身を呼び出す再帰関数で、nから0までの整数を足し合わせる。呼出しを展開すると、sumN(5)=5+sumN(4)=5+4+sumN(3)=5+4+3+sumN(2)=5+4+3+2+sumN(1)=5+4+3+2+1+sumN(0)となり、n=0のとき再帰せず0を返す(基底条件)。よって5+4+3+2+1+0=15である。5は初回の加算分のみ、10はsumN(4)の結果、25は5×5と混同した誤りである。基本情報の科目Bでは再帰関数が頻出であり、①再帰を停止させる基底条件の確認、②呼出しの展開、③戻り値の合成、という3ステップで追跡するのが定石である。1からnまでの和の公式n(n+1)/2=5×6÷2=15と一致することでも検算できる。
一問一答
科目A 180問+科目B 60問