• 締切済み

素数問題

今C言語を勉強してるんですが・・・ 「n以下の素数をすべて表示せよ」 という問題の答えがわかりません>< 御願いします

みんなの回答

  • dra2jp
  • ベストアンサー率25% (18/72)
回答No.6

何がわからないのかわかりません。 とにかく宿題の問題だけ書いて誰かに回答してもらおうみたいな 投稿通用しませんよ。 もしもあなたがこの質問に本当に答えてほしく、自分も問題に興味があるなら ここまで考えたけどここがわからないからここを教えてくれ という投稿になるはずです。 素数の意味すらわからないのですか? 実装のしかたですか? かけかたですか?表示の仕方ですか? 関数の値受け渡しの方法ですか? 何がわからないか明確に示して投稿してください。

回答No.5

   何度も申し訳ない。orz int isprime(int number) { int i; if(number <= 2) return number / 2 > 0; // ***** 訂正 ***** else if(number % 2 == 0) return 0; else{ for(i = 3; i <= sqrt(number); i += 2){ if(number % i == 0) return 0; } } return 1; }  

回答No.4

   訂正 int isprime(int number) -> int isprime(unsigned int number)  

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

エラトステネスの篩(ふるい) でWEB検索してみるといいかもしれません。

回答No.2

  int isprime(int number) { int i; if(number <= 2) return number / 2; else if(number % 2 == 0) return 0; else{ for(i = 3; i <= sqrt(number); i += 2){ if(number % i == 0) return 0; } } return 1; }  

回答No.1

「特定の数字が素数であるか調べる。」 という処理を、 「1~nまで」 行うだけです。 その何がわからないんですか? 全部わからないから答えだけよこせなんてのは通用しませんよ。

関連するQ&A

  • 素数判定プログラム

    C言語で、『n以下のすべての素数を求めるプログラム』のソースリストを平方根を使ったやり方で作りたいのですが、エラーが出てしまって、どうしてもうまく作れません。 C言語初心者の上、勉強不足なのが悪いのですが・・・ぜひ教えてください!お願いします!

  • 公約数のプログラム。

    今、C言語を独学していて・・・問題の答えが書いていなかったため質問させていただきます。 「与えられた2つの自然数の公約数をすべて求めよ」という問題なんですが、わかるかた教えていただきたいです。

  • 1000以下の自然数のうち素数で無いものを全て求め、それらを画面に表示

    1000以下の自然数のうち素数で無いものを全て求め、それらを画面に表示しかつそれらの和も画面に表示するC言語のプログラムを作成せよ。 わかりません。お願いいます。

  • 素因数分解の問題

    「1から30までのすべての自然数の積をXとすると、Xの末尾には0がいくつ並ぶことになるか。なお、Xは29以下のすべての素数の積、X=2a×3b×5c×7d・・・×29で表される。」という問題があります。解説の、「10を素因数分解すると2×5であるから、末尾に並ぶ0の個数nは、Xのすべての素数の積 X=2a×3b×5c×7d・・・×29 において、aとcの内大きくない方である。」という記述が理解できません。どなたか教えてくださいませんか?

  • 10進数を2進数にする問題について教えてください

    10進数を2進数にする問題について 10進数を2進数に変換について 10進数を2進数に変換する問題なのですが、 まったくもって理解ができません、教えて頂ければ幸いです S(符号)は1ビットで仮数の符号を表す E(指数部)は4ビットで指数を表し負数は2の補数で表現 M(仮数部)は11ビットで仮数の絶対値を表す 基数は2とする 仮数の0,2進数の少数以下第一位が1になるように、正規化された形で表す 小数点はEとMの位置にする 0の表現はー0と+0の二通りがあり特別に指数部と仮数部をすべて0にする 問.10進数の5.25を2進数で表示しなさい 問.10進数の0.125を2進数で表示しなさい 答えと解き方を教えて頂ければ幸いです

  • どうしても問題集の解答と合いません&解答の方が多分間違ってます。

    確率の問題集をやっていたのですが、どうみても解答の答えと合わないのです。自分の解答のほうが正しいと思うのですが、どうでしょうか? 問題:「箱の中に1から10までの整数が1つずつ書いてある10枚のカードが入っている。この箱から1枚のカードを取り出し、その数を読んで元に戻してよくかき混ぜる。この試行を3回繰り返したとき取り出したカードの最大値が7で最小値が3である確率を求めよ 自分の解答: 「最大値が7で、最小値が3ということは、3回カードを引くうちの1回は必ず7で、2回は必ず3ということになる。あと一回は、3~7まで のどれかということになるので、考えられる組み合わせは、(3,3,7)、(3,4,7)、(3,5,7)、(3,6,7)、(3,7,7)、(4,3,7)、(5,3,7)、(6,3,7)、(7,3,7)、(3,7,3)、(3,7,4)、(3,7,5)、(3,7,6)の13通りということになるので、求める確率は、13/1000である。」 問題集の解答: 「求めるべき確率は、『すべてが3以上7以下』である組み合わせ(←これをCとする)から、『すべてが3以上6以下』である組み合わせ【←これをC∩B'(B'はBの補集合)】と『すべてが4以上7以下』である組み合わせ【←C∩D'(←D'はDの補集合)】を足して、それから、『すべてが4以上6以下』である組み合わせ【←これをC∩B'∩D'】を引いたものであるから、求めるべき組み合わせは、C∩B∩Dということになり、その数は、n(C∩B∩D)=n(C)-{n(C∩B')+n(C∩D')-n(C∩B'∩D')}=5^3-2×4^3+3^3ということだから、求める確率は、(5^3-2×4^3+3^3)/1000=3/125 である。

  • 立方数に関する問題

    最近、わけあって数学を勉強し直しているのですが、独学で勉強しているために問題の解き方がわからなくて困っています。 現在つまずいているのは、 「272にできるだけ小さい自然数をかけて立方数になるようにしたい。いくつをかければよいか」 という問題です。 ちなみに答えは「1156」と記されているのですが、解き方に関する記述がないので、どのようにこの答えを導き出せばよいのかわかりません。 もしわかる方がいれば、教えていただけるとありがたいです。

  • 素数の問題

    次のような素数の問題 (1)n^3 + 1 = p をみたす自然数nと素数pの組をすべて    もとめよ。 (2)n^3 + 1 = p^2 をみたす自然数nと素数pの組をすべて    もとめよ。 を聞かれ、 (1)n=1 p=2 (左辺を因数分解して。) (2) n=2 p=3 という解がでました。 これであっているのか自信がありません。 どなたか教えていただけないでょうか。

  • 2から120以下の素数を求める

    2以上120以下の素数を全て求めて表示するプログラムを書きなさい。 素数か否かの判定には以下のアルゴリズム[処理手順] (2 <= n <= 120のときのみ有効)を用いなさい。 i) nが2, 3, 5, 7, 11のうちのどれかと等しければNは素数 ii) nが2, 3, 5, 7, 11の全てに対して割切れなければNは素数 iii) それ以外(iもiiも不成立)のとき、Nは素数ではない。 *) 2, 3, 5, 7, 11は最初に出力してしまい、 n=12から120までをfor文のなかで判定すればよい。 というC言語の課題です。 自分でプログラムを作ったのですが、うまくできません・・。 if文が働いてないようなのですが、どこが間違っているのでしょうか? #include <stdio.h> int main(void) { int i; printf("2\n"); printf("3\n"); printf("5\n"); printf("7\n"); printf("11\n"); for (i=12;i<=120;i++){ if (i%2!=0 || i%3!=0 || i%5!=0 || i%7!=0 || i%11!=0){ printf("%d\n",i); } else{ printf(""); } } printf( "\n" ); return 0; }

  • 数学の問題ですが・・・

    この問題、私では全然わかりません、 nは自然数とする。Sn=1!+2!+3!+・・・+n!とおき Snの一の位の数をfnとする。 ただし、n!=1×2×3×・・・×(n-1)×nである・ (1)5!とf10の値を求めよ。 (2)Snがある自然数の平方となるようなnを全て答えよ。 この2問です、ぜひ答えとそのとき方(式)も 教えてください!

専門家に質問してみよう