問 題
図のフローチャートにおいて、出力される a の値はいくらか。なお、必要ならば、n が正の整数のとき、
であることを用いてよい。
1. 2527
2. 2873
3. 2930
4. 3314
5. 3374
正解 (3)
解 説
チャートを上から読んでいきます。
(a,k) = (0,1)
(a,b,k) = (0,4,1)
(a,b,k) = (4,4,1)
(a,b,k) = (4,4,2)n
以降、ループ部分を 1 行にまとめて読んでいきます。
(a,b,k) = (11,7,3)n
(a,b,k) = (23,12,4)n
(a,b,k) = (42,19,5)n …と続いていきます。
a = 0 + (12 + 3) + (22 + 3) + (32 + 3) + (42 + 3) + … です。k > 20 で条件分岐しているため、202 + 3 を足して、k = 21 になった所でループから抜け出して a が出力されます。
従って
出力される a = 12 + 22 + … + 202 + (3 × 20)…(1) です。
問題文の公式の 2 番目に n = 20 を代入すれば「12 + 22 + … + 202」が計算できます。(20 × 21 × 41)/6 = 2870 です。また、3 × 20 = 60 です。つまり (1) = 2870 + 60 = 2930 です。
以上より、正解は 3 です。
コメント