●問題
問題は各予備校 · 新聞社のページをご覧下さい。
●問題の急所
- どのような数を求めているのか把握しようまず、変数の役割を確認しておきましょう。
- K : 調べている自然数自身
- N : 調べている自然数の最大値
- S : 条件を満たす自然数の和
- T : 条件を満たす自然数に割り当てる番号(添え字)
つぎに、IF文のはたらきを考えてみましょう。140行 : IF INT(K/2)=K/2 THEN GOTO 190
->Kが2の倍数であれば190行へジャンプ150行 : IF INT(K/3)=K/3 THEN GOTO 190
->Kが3の倍数であれば190行へジャンプ
もし分からないときは、K=1,2,...,10として式の値を考えていけば どんなことをやってるか分かると思います。 したがって、このプログラムはN以下の正の奇数で3の倍数でない数とその和を求めるものであることがわかります。(よってアの答は1である)
- プログラムをトレースできるようにしよう(2)このプログラムは、N以下の正の奇数で3の倍数でない数とその和を求めるプログラムです。 このような条件に該当する数は 1 , 5 , 7 の3つです。(3)(3)では140行が140行 : IF INT(K/2)<K/2 THEN GOTO 160となっています。 ジャンプする行が160行なので、このプログラムは
->Kが奇数であれば160行へジャンプN以下の正の奇数または偶数のうち3の倍数以外の数とその和を求めるものになったといえます。
この条件に該当する数は、 1 , 2 , 3 , 4 , 5 , 7 , 8 , 9 , 10 ( 6 以外)です。
●解答
解答は各予備校 · 新聞社のページをご覧下さい。