10000の素数を求めるというプログラムでこのようなプログラムを見つけたのですがわからないところがあったので教えていただけませんか?
#include <stdio.h>
int main(void)
{
int i,j,yakusuu;
for(i=1;i<=10000;i++)
{
yakusuu=0;
for(j=1;j<=i;j++)
{
if(i%j==0) yakusuu++;
}
if(yakusuu==2) printf("%d ",i);
}
printf("\n");
return 0;
}
なんですが
for(j=1;j<=i;j++)
{
if(i%j==0) yakusuu++;
}
↑ ↑ ↑ ↑ ↑
上のfor文の意味がわかりません
できるだけくわしく教えていただけないでしょうか
よろしくお願いします
素数を…
Re: 素数を…
10000「まで」の素数、ですね。first さんが書きました:10000の素数を求める
変数 i は、素数かどうかを判定したい数が入っています。
変数 j は、i の約数候補です。
i が j で割り切れたら、j が i の約数であることがわかるので、約数の個数(変数 yakusuu)を1増やします。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 素数を…
「1からiまでの整数を一つづつ調べ、
iがその数で割り切れたら(その数がiの約数だったら)変数yakusuuを1増やす」
という意味です。
これによりiの約数の数が数えられます。
※コードはコードタグで囲みましょう
iがその数で割り切れたら(その数がiの約数だったら)変数yakusuuを1増やす」
という意味です。
これによりiの約数の数が数えられます。
※コードはコードタグで囲みましょう
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)