HOME»ITパスポート掲示板»問78について
投稿する
問78について [4954]
MCさん(No.1)
解説みてもよく分からないのですが、わかる方いましたら説明お願いします。
1.J=0に要素番号を足していくということですが、(0+1→1+2…)のように計算すればよろしいでしょうか?
2,Jが9より大きいときは十の位と一の位を足したものをJに代入する。
3.KにJを10で割った数(小数点以下切り捨て)を代入する。
この後の何故回答がイなのかが分かりません。イは手順2のどこの部分を指しているのでしょうか?
1.J=0に要素番号を足していくということですが、(0+1→1+2…)のように計算すればよろしいでしょうか?
2,Jが9より大きいときは十の位と一の位を足したものをJに代入する。
3.KにJを10で割った数(小数点以下切り捨て)を代入する。
この後の何故回答がイなのかが分かりません。イは手順2のどこの部分を指しているのでしょうか?
2023.04.10 14:08
オリザさん(No.2)
★IP ブロンズマイスター
この投稿は投稿者により削除されました。(2023.04.11 12:11)
2023.04.11 12:11
オリザさん(No.3)
★IP ブロンズマイスター
ちょっと表現がおかしいところがあったので修正します。
手順(1)は、original digitの各桁の数字を足せと言っています。
仮に9桁の数字が934,573,189だとしたら、9+3+4+5+7+3+1+8+9です。
それをプログラム風に書くと、4から5行目みたいなまどろっこしい書き方になるということです。iを1桁目から9桁目まで、1つずつ足すのを繰り返すというふうに書いてますね。
手順(2)です。
手順(1)で得られたjの値が9より大きい場合、10の位をA、1の位をBとすると j = 10×A + Bと表すことができます。問題ではA+Bをして9より大きければ、また10の位の数と1の位の数を足し・・・を繰り返せと書いてあります。
これを手掛かりに、プログラムが何を言ってるのか推測に入ります。
プログラムの下から4行目は、kにjを10で割ったときの商、すなわちAを代入すると言っています。
このあとの展開は、jにAとBを足したものを代入して9より大きければwhileに戻る、だと予想されます。
すると虫食い部分は「jにAとBを足したものを代入せよ」となるので、A+Bを正しく計算しているのはどの選択肢なのかを吟味していくことになります。
一行上でA=kだと言っているので、答えは k + 何か という形になるはずです。この時点でアがまず消えます。
次にBをどう表すかというと、j = 10×A+B なので 移項してB = j-10×A、A=kなので B=j-10×k
よって、A + B = k + (j-10×k)と表すことができることがわかるので、イが正解。
手順(1)は、original digitの各桁の数字を足せと言っています。
仮に9桁の数字が934,573,189だとしたら、9+3+4+5+7+3+1+8+9です。
それをプログラム風に書くと、4から5行目みたいなまどろっこしい書き方になるということです。iを1桁目から9桁目まで、1つずつ足すのを繰り返すというふうに書いてますね。
手順(2)です。
手順(1)で得られたjの値が9より大きい場合、10の位をA、1の位をBとすると j = 10×A + Bと表すことができます。問題ではA+Bをして9より大きければ、また10の位の数と1の位の数を足し・・・を繰り返せと書いてあります。
これを手掛かりに、プログラムが何を言ってるのか推測に入ります。
プログラムの下から4行目は、kにjを10で割ったときの商、すなわちAを代入すると言っています。
このあとの展開は、jにAとBを足したものを代入して9より大きければwhileに戻る、だと予想されます。
すると虫食い部分は「jにAとBを足したものを代入せよ」となるので、A+Bを正しく計算しているのはどの選択肢なのかを吟味していくことになります。
一行上でA=kだと言っているので、答えは k + 何か という形になるはずです。この時点でアがまず消えます。
次にBをどう表すかというと、j = 10×A+B なので 移項してB = j-10×A、A=kなので B=j-10×k
よって、A + B = k + (j-10×k)と表すことができることがわかるので、イが正解。
2023.04.11 12:11
オリザさん(No.4)
★IP ブロンズマイスター
MCさん(No.5)
ありがとうございました。
2023.04.17 18:44