科目A問64
関数 sigma は,正の整数を引数 max で受け取り,1から max までの整数の総和を戻り値とする。プログラム中のaに入れる字句として,適切なものはどれか。
〔プログラム〕
〔プログラム〕

| calcX ← calcX × n | |
| calcX ← calcX + 1 | |
| calcX ← calcX + n | |
| calcX ← n |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- ウ
解説
1からmaxまでの合計を求める処理は、総和(シグマ計算)と呼ばれる基本的なアルゴリズムです。これは、変数に値を少しずつ足し合わせていくことで求めます。
例えばmax=5の場合、求める値は
1+2+3+4+5=15
となります。
この処理は、変数calcXを0で初期化し、ループでnを1から順に増やしながら、calcXにnを加えていくことで実現できます。
calcXの変化は次のようになります。
0+1=1
1+2=3
3+3=6
6+4=10
10+5=15
このように「これまでの合計に現在の値を足す」という処理を繰り返すことで、正しく総和を求めることができます。
例えばmax=5の場合、求める値は
1+2+3+4+5=15
となります。
この処理は、変数calcXを0で初期化し、ループでnを1から順に増やしながら、calcXにnを加えていくことで実現できます。
calcXの変化は次のようになります。
0+1=1
1+2=3
3+3=6
6+4=10
10+5=15
このように「これまでの合計に現在の値を足す」という処理を繰り返すことで、正しく総和を求めることができます。