- 締切済み
素数問題
今C言語を勉強してるんですが・・・ 「n以下の素数をすべて表示せよ」 という問題の答えがわかりません>< 御願いします
- niko2niko2niko2
- お礼率17% (6/34)
- C・C++・C#
- 回答数6
- ありがとう数0
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- dra2jp
- ベストアンサー率25% (18/72)
何がわからないのかわかりません。 とにかく宿題の問題だけ書いて誰かに回答してもらおうみたいな 投稿通用しませんよ。 もしもあなたがこの質問に本当に答えてほしく、自分も問題に興味があるなら ここまで考えたけどここがわからないからここを教えてくれ という投稿になるはずです。 素数の意味すらわからないのですか? 実装のしかたですか? かけかたですか?表示の仕方ですか? 関数の値受け渡しの方法ですか? 何がわからないか明確に示して投稿してください。
- yaemon_2006
- ベストアンサー率22% (50/220)
何度も申し訳ない。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; }
- yaemon_2006
- ベストアンサー率22% (50/220)
訂正 int isprime(int number) -> int isprime(unsigned int number)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
エラトステネスの篩(ふるい) でWEB検索してみるといいかもしれません。
- yaemon_2006
- ベストアンサー率22% (50/220)
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; }
- Chronos198
- ベストアンサー率30% (105/349)
「特定の数字が素数であるか調べる。」 という処理を、 「1~nまで」 行うだけです。 その何がわからないんですか? 全部わからないから答えだけよこせなんてのは通用しませんよ。
関連するQ&A
- 公約数のプログラム。
今、C言語を独学していて・・・問題の答えが書いていなかったため質問させていただきます。 「与えられた2つの自然数の公約数をすべて求めよ」という問題なんですが、わかるかた教えていただきたいです。
- ベストアンサー
- C・C++・C#
- 1000以下の自然数のうち素数で無いものを全て求め、それらを画面に表示
1000以下の自然数のうち素数で無いものを全て求め、それらを画面に表示しかつそれらの和も画面に表示するC言語のプログラムを作成せよ。 わかりません。お願いいます。
- 締切済み
- C・C++・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進数で表示しなさい 答えと解き方を教えて頂ければ幸いです
- 締切済み
- C・C++・C#
- どうしても問題集の解答と合いません&解答の方が多分間違ってます。
確率の問題集をやっていたのですが、どうみても解答の答えと合わないのです。自分の解答のほうが正しいと思うのですが、どうでしょうか? 問題:「箱の中に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 である。
- ベストアンサー
- 数学・算数
- 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; }
- ベストアンサー
- C・C++・C#
- 数学の問題ですが・・・
この問題、私では全然わかりません、 nは自然数とする。Sn=1!+2!+3!+・・・+n!とおき Snの一の位の数をfnとする。 ただし、n!=1×2×3×・・・×(n-1)×nである・ (1)5!とf10の値を求めよ。 (2)Snがある自然数の平方となるようなnを全て答えよ。 この2問です、ぜひ答えとそのとき方(式)も 教えてください!
- ベストアンサー
- 数学・算数