令和4年度 問78 チェックデジットを求めるプログラム
関数 checkDigit は,10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列 originalDigit を引数として,次の手順で計算したチェックデジットを戻り値とする。プログラム中のaに入れる字句として,適切なものはどれか。ここで,配列の要素番号は1から始まる。 〔手順〕
(1) 配列 originalDigit の要素番号1~9の要素の値を合計する。 (2) 合計した値が9より大きい場合は,合計した値を10進の整数で表現したときの各桁の数字を合計する。この操作を,合計した値が9以下になるまで繰り返す。 (3) (2)で得られた値をチェックデジットとする。
〔プログラム〕
j ← j-10×k
j ← k+(j-10×k)
j ← k+(j-10)×k
j ← k+j
先に解説を見る
正解イ
j ← k+(j-10×k)
解説
この問題のポイント
2桁の整数は、10で割った整数商が十の位、余りが一の位です。余りは「元の数-10×整数商」でも求められます。桁ごとの数字を合計する処理では、この二つを足します。
空欄に当てはめると
j÷10の整数部分kが十の位です。
10×kを引いたj-10×kが一の位になります。
したがって、桁の和はk+(j-10×k)です。
例えば47なら4+(47-40)=11となり、次の回で1+1=2になります。
正解:イ
j ← k +(j - 10 × k)です。
続けて練習して、学習記録を残そう。
同じ分野の別の問題を解く同じ分野の問題
関連する用語
編集・確認:kakoloop · 編集方針
公開日:
内容更新:
問題・解説の誤りを報告する