第23問 各桁の数字の合計
整数 num(=1234)の各桁の数字(1と2と3と4)をすべて合計して表示するようにしよう。一の位を取り出して合計にたし、10でわって桁をひとつ減らすことを、num が0になるまで繰り返します(3か所の穴をうめよう)
難易度:★★★★☆(4/やや難しい)。共通テスト「情報I」で使われるDNCL(共通テスト用プログラム表記)の穴埋め問題です。JavaScriptを有効にすると、このページでプログラムを組み立てて実行しながら解けます。
プログラム
num = 1234
goukei = 0
num > 0 の間繰り返す:
ichi = num [A] 10
goukei = goukei [B] ichi
num = num [C] 10
表示する("各桁の合計は" + goukei)
空欄 [A]・[B]・[C] に当てはまるものを、次の選択肢から選びます。
選択肢
ヒント
num % 10 で一の位を取り出して goukei にたし、num / 10 で桁をひとつ減らす、と考えよう。これを num が0になるまで繰り返せば各桁の合計になります
解答
- 空欄 [A] …
%
- 空欄 [B] …
+
- 空欄 [C] …
/
よくある間違い
- [A]
/ [B]+ [C]/ … 一の位を取り出すには10でわった「あまり」がほしいです。/ だと商(1234÷10=123)になり、一の位の数字になりません。% を使いましょう
- [A]
% [B]+ [C]% … 桁をひとつ減らすには10で「わって」商にします。% だと num が同じあまりのままになり、0にならず繰り返しが終わりません。/ を使いましょう
- [A]
% [B]* [C]/ … 合計は取り出した数字を「たして」いきます。goukei は0から始まるので掛け算では0のまま増えません。+ を使いましょう
- [A]
% [B]- [C]/ … 引き算では合計が増えるどころかマイナスになっていきます。取り出した一の位を + でたし込みましょう
ほかの問題