問題
整数1234の桁数を数えるプログラム(n/10を繰り返す)の結果は何か。
選択肢
- 14
- 23
- 31
- 410
正解
1. 4
詳しい解説を見る解説を閉じる
解説
整数の桁数は、nを10で割る操作(整数除算)をnが0になるまで繰り返し、その回数を数えることで求められる。n=1234から開始すると、①1234÷10=123(1回目)、②123÷10=12(2回目)、③12÷10=1(3回目)、④1÷10=0(4回目)でループが終了し、digitsは4で正解である。整数除算のため小数点以下は切り捨てられる点が動作の前提となる。3は1回少なく数えた誤り、1は終了直前のnの値と混同した誤り、10は除数を答えた誤りである。頻出ポイントは①10で割るごとに末尾の桁が1つ消えること、②n mod 10で末尾の桁を取り出せること、の2つの組合せである。各桁の合計や数値の逆順表示など、桁分解を使うアルゴリズムの基礎として科目Bで繰返し登場する。
一問一答
科目A 180問+科目B 60問