閉じる

ITパスポート令和4年度 問78

問78
note_alt
calculate

関数 checkDigit は,10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列 originalDigit を引数として,次の手順で計算したチェックデジットを戻り値とする。プログラム中のaに入れる字句として,適切なものはどれか。ここで,配列の要素番号は1から始まる。

〔手順〕
  • 配列 originalDigit の要素番号1~9の要素の値を合計する。
  • 合計した値が9より大きい場合は,合計した値を10進の整数で表現したときの各桁の数字を合計する。この操作を,合計した値が9以下になるまで繰り返す。
  • (2)で得られた値をチェックデジットとする。
〔プログラム〕
78.png/image-size:536×308
  • j ← j-10×k
  • j ← k+(j-10×k)
  • j ← k+(j-10)×k
  • j ← k+j

分類 :

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング

正解 :

イ

解説 :

jの最大値は9×9=81なので二桁までです。k=j÷10の商は十の位、j-10×kは一の位を表します。

各桁の和はk+(j-10×k)なので、これをjへ代入します。例えば81なら8+1=9、79なら7+9=16から再度1+6=7と繰り返します。

▲
Pagetop