HOME»基本情報技術者試験掲示板»質問です
投稿する
質問です [5148]
ペギーさん(No.1)
基本情報科目Bアルゴリズム疑似言語トレーニングのP114 4.2についてですが、
4の倍数のみ重複する答えになっています。
3と5の倍数でも重複があるので、繰り返しでprime[i]=0に該当しないのでしょうか
4の倍数のみ重複する答えになっています。
3と5の倍数でも重複があるので、繰り返しでprime[i]=0に該当しないのでしょうか
2023.10.24 06:27
tctctctcさん(No.2)
マダガスカル沸いてて草生える。
サンプル問題5問を解いただけで合格したワイには本も持ってないし分かるわけないがな。
サンプル問題5問を解いただけで合格したワイには本も持ってないし分かるわけないがな。
2023.10.24 10:08
ぽさんさん(No.3)
iを順番にトレースしながらインクリメントしていくと
i = 3にインクメントされた時点で、prime[3]は 0 になってます。
[0, 0, 0, "0", 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
なお、スキップするのは prime[i]=1の場合です。
問題文の解釈で「2の倍数が以降存在したら必ずスキップする」と解釈すると間違いやすいですが、「prime(i)=1の場合にスキップする」というプログラムになります。
この後、i=3の時点での i x j に"1"が設定されていきます、
確かに3の倍数の中に2の倍数、具体的には12,18,24が存在します、
すでに1は設定されていますが上書き処理されます。
i = 3にインクメントされた時点で、prime[3]は 0 になってます。
[0, 0, 0, "0", 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
なお、スキップするのは prime[i]=1の場合です。
問題文の解釈で「2の倍数が以降存在したら必ずスキップする」と解釈すると間違いやすいですが、「prime(i)=1の場合にスキップする」というプログラムになります。
この後、i=3の時点での i x j に"1"が設定されていきます、
確かに3の倍数の中に2の倍数、具体的には12,18,24が存在します、
すでに1は設定されていますが上書き処理されます。
2023.10.24 10:44
ペギーさん(No.4)
この投稿は投稿者により削除されました。(2023.10.25 05:27)
2023.10.25 05:27
ペギーさん(No.5)
ぽさんさん
prime[4]の場合だけif文が実行されないということだったのですね。
やっと理解できました。
ご説明ありがとうございます。
prime[4]の場合だけif文が実行されないということだったのですね。
やっと理解できました。
ご説明ありがとうございます。
2023.10.25 05:29