dポイントプレゼントキャンペーン実施中!

素数であるかどうかを判定するアルゴリズムについて質問です。
次の流れ図中の(a)〜(f)に入れるべき適切な字句または記号を、解答群より選びなさい。

プリントに解答群が書いてないので全然分かりません。解答群を持っている人や、答えがわかる人は回答をお願いします。

処理の説明
3から100までの各数値について、その数が素数であるかどうかを判定する。素数とは「その数自身と1でしか割り切れない数」のことである。数値Xが素数かどうかの判定は以下のアルゴリズムで行う。

(1) Xを2で割った商(小数点以下切捨て)をMに求める。例えば、X=97の場合はM=48となる。
(2) iを1からMまで変化させながらXをiで割った余りが0であるかどうかを判定する。余りが0の場合(割り切れる場合),T(初期値0)に1を加算する。
(3) Tの値が1よりも大きいならば1以外の数で割り切れたことがあるため、「Xは素数ではない」と表示する。Tの値が1であるなら、「Xは素数である」と表示する。
(4) (1)〜(3)をXが3から100まで繰り返す。
なお、AをBで割った余りを得る演算子として、"%"を用いるものとする。

「素数であるかどうかを判定するアルゴリズム」の質問画像

A 回答 (2件)

(a) Xが100まで


(b) X÷2
(c) 1→i
(d) iがMまで
(e) T+1 → T
(f) Tの値が1である、「T:1」?

ループの条件の書きっぷりのルールとかが不明瞭です。
他のプリントとかテキストとかに書かれてるのを参考にしては。
    • good
    • 0

いろいろ無駄。


・1で割るのは無意味。iは2から。
・割りきれたら直ちに素数でないと判定すべき。iのループを回しきる必要なし。従ってTも不要。
・xをiで割った商<i なら、iのループを打ちきって、素数だと判定して良い。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!