第25問 ナベアツ算
1から40までの整数について、「3の倍数」または「3のつく数」のときに「🤪」、それ以外は「🤨」を表示するプログラムです。3の倍数かどうか、3が数字についているかどうかの式を、それぞれ選択肢から選んで空欄に入れよう(3か所の穴をうめよう)
難易度:★★★★★(5/難しい)。共通テスト「情報I」で使われるDNCL(共通テスト用プログラム表記)の穴埋め問題です。JavaScriptを有効にすると、このページでプログラムを組み立てて実行しながら解けます。
プログラム
表示する("3の倍数と3のつくときにアホ(🤪)になります")
i を 1 から 40 まで 1 ずつ増やしながら繰り返す:
kao = "🤨"
amari = [A]
もし amari == 0 ならば:
kao = "🤪"
そうでなければ:
juu_no_kurai = [B]
ichi_no_kurai = [C]
もし juu_no_kurai == 3 ならば:
kao = "🤪"
そうでなければ:
もし ichi_no_kurai == 3 ならば:
kao = "🤪"
表示する(kao + "< " + i)
空欄 [A]・[B]・[C] に当てはまるものを、次の選択肢から選びます。
選択肢
i % 3
i % 10
i / 3
i / 10
切り捨て(i / 3)
切り捨て(i / 10)
i % 5
ヒント
3の倍数は「3で割ったあまり」が0かどうかで判定します。十の位は切り捨て(i / 10)、一の位は i % 10 で取り出せます。
解答
- 空欄 [A] …
i % 3
- 空欄 [B] …
切り捨て(i / 10)
- 空欄 [C] …
i % 10
よくある間違い
- [A]
i / 3 [B]切り捨て(i / 10) [C]i % 10 … 3の倍数かどうかは、3で割った「あまり」が0かどうかで判定します。3で割った商では判定できません。
- [A]
i % 3 [B]i / 10 [C]i % 10 … 十の位を取り出すには、小数部分を切り捨てる必要があります。切り捨て(i / 10) を使いましょう。
- [A]
i % 3 [B]切り捨て(i / 3) [C]i % 10 … 十の位を取り出すには10で割ります。3で割ると十の位は取り出せません。
- [A]
i % 3 [B]切り捨て(i / 10) [C]i / 10 … 一の位は10で割った「あまり」です。i % 10 を使いましょう。
- [A]
i % 5 [B]切り捨て(i / 10) [C]i % 10 … 3の倍数かどうかを調べるので、3で割ったあまり(i % 3)を使います。
ほかの問題