

100未満の素数を表示するには
「0~99までの配列を用意し、100の平方根である10までの素数の倍数を素数でない数としていく。」
実行例の一部「2の倍数を消去:468…96 98」
というように次は3の倍数、5の倍数、7の倍数を表示させ、それらに該当しないのを表示せよという問題です。
ヒントとして↓がもともと書かれていたんですが、ヒントがよくわかりません。
2の倍数を表示し消去する方法を教えてください。
#include<stdio.h>
int main()
{
int i,j,prime[100];
for (i=0;i<N;i++) prime[i]=1; //全ての要素を素数の候補とする
prime[0]=prime[1]=0; //0と1は素数ではない
printf("\n100未満の素数を出力\n");
return 0;
}
No.1ベストアンサー
- 回答日時:
ヒント1
2以外の2の倍数を100まで表示
for ( i = 2; i * 2 <= 100; i++)
{
printf("%d ", i * 2);
}
ヒント2
消去というか0を代入
prime[2以外の2の倍数] = 0;
この回答への補足
for (i=0;i<N;i++) prime[i]=1; //全ての要素を素数の候補とする
prime[0]=prime[1]=0; //0と1は素数ではない
このNは適当に変えていいってことですか?
宣言されてないですし…。
あとfor()のあとは{がつくと思うんですが、↑の場合
prime[i]=1;
prime[0]=prime[1]=0;
これが繰り返しされるってことでいいんですか?
No.4
- 回答日時:
>あとfor()のあとは{がつくと思うんですが、↑の場合
必ずしもそうではありません。
for文やif文では、
for (~) {
/* 何かの文 */
}
の「何かの文」が1個だけのとき、下記のように { と } を省略できます。
for (~)
/* 何かの文(1個だけ) */
No.3
- 回答日時:
たとえば、
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,prime[100],N=100;
for (i=0;i<N;i++) {
prime[i]=i;//全ての要素を素数の候補とする
}
prime[0]=prime[1]=0;//0と1は素数ではない
for(j=2;j<sqrt(N);j++){//math.hを使わなければ、j<10か
for(i=j+1;i<N;i++){
if(prime[i]%j==0){
if(prime[i]!=0)
printf("%dの倍数 %d\n",j,prime[i]);//倍数の表示
prime[i]=0;
}
}
}
printf("\n%d未満の素数を出力\n",N);
for (i=0;i<N;i++) {
if(prime[i]!=0)
printf("%d\n",prime[i]);
}
return 0;
}
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
for文の中にswitch文はいれられ...
-
C言語階乗の総和を求める
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文について
-
while文を使った問題なのですが...
-
C言語 数字以外を入力させない...
-
最早開始時間と最遅完了時刻を...
-
20'(角度)の計算がわかりま...
-
信頼区間の1.96や1.65ってどこ...
-
Aの値からBの値を除するとは??
-
数字以外が入力されたらエラー...
-
値差の%計算方法について
-
「Aに対するBの割合」と「Aに対...
-
#defineが使用するメモリ領域に...
-
cout関数を使っているのですが...
-
2÷3などの余りについて
-
構造体の勉強中です 合計点の高...
-
main.c:7:43: warning: implici...
-
C言語 エラーの原因がわからな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#if 1 #elseの意味について
-
構文エラー";"が型の前にあり...
-
for文の中にswitch文はいれられ...
-
配列を使って魔方陣
-
C言語 数字以外を入力させない...
-
10進数からN進数に変換するプロ...
-
配列を関数に渡す方法
-
scanfが実行されません
-
C言語で電卓を作成する。
-
C言語・最大値を算出するプロ...
-
C言語階乗の総和を求める
-
実行すると if文 に矛盾
-
計算結果がlong型以上になる場...
-
C言語プログラム
-
C言語。どうしてコンパイルでき...
-
c言語for文
-
getcの改行判定
-
C言語で勉強中(max,min)の出し方
-
C言語 プログラム
-
SIGALRMでプロセス終了
おすすめ情報