【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

1~1000,1001~2000の間に素数が何個あるかプログラムを用いて調べよ。
急ぎです。よろしくお願いします。

A 回答 (2件)

指定された範囲にある素数を求める処理手順(←使用するプログラム記述言語での記述ではなく日常使用している言語で)を書き出せばよいです。


それが出来ないのはプログラムが書けないのではなくアルゴリズムがわからないということで、それはプログラム記述言語を勉強しても解決しません。

で。
まず素数とはどういう値か、そうすれば素数と判断できるかを考えましょう。
答えは、、、そう「1 より大きい(=2以上の)自然数で、正の約数が 1 と自分自身のみであるもの」ですね。
なので2から1,000まで順に以下の事を行えば抽出できることがわかります。

まず、素数をため込む場所を設けておき。。。
注目する数が素数をため込む場所に入っているいずれの値でも割り切れなければ、注目する値は素数なので素数をため込む場所に追加する。

これだけです。
処理手順とするには開始時と終了時の処理がうまく行くように考えればOKです。
あと、1~1000,1001~2000で答えを分けるのであればその考慮もしましょう。
1つの処理(プログラム)とし、起動パラメーターで開始値と終了値を与えるようにする方法もあるでしょう。

参考まで。
    • good
    • 1

普通に総当りでいいような気がしますが


非素数x=m*nですから仮にm=nだったとして、
ルートxまで数えればそれ以上処理する必要はありません。
また2より大きな偶数は必ず非素数なので奇数だけチェックすればいいでしょう。
    • good
    • 1

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