• ベストアンサー

2つの自然数を入力しその間にある素数を表示する

2つの自然数を入力して、その間にある素数を表示するプログラムです。 #include <stdio.h> main( ) { int a,b,c,i,j; printf("Input number 1:"); scanf("\n%d",&a); printf("Input number 2:"); scanf("\n%d",&b); if(a>b){ c=a; a=b; b=c; } for(i=a;a<b+1;i++){ for(j=2;j<i-1;j++){ if(i%j!=0){j++;} else{ if(i=j){ printf("\n%d",i); } } } } } i=aからbまで j=2からi-1まで iはjで 割り切れるか NO→(jを1つ増やす) YES→iはjと等しいか YES→iの値を表示 NO→(iを1つ増やす) END この部分がよくわかりませんfor文を使うんですか? ご指導お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> この部分がよくわかりませんfor文を使うんですか? そうです。 iとjの二重のfor-loopの内側にifがふたつ。

zero-0
質問者

お礼

ご指導ありがとうございます。 がんばってみます。

その他の回答 (1)

回答No.2

非常に単純なプログラムで、ご質問者の疑問が何なのか良く把握できませんが、以下のfor文はおかしいですね。 for(i=a;a<b+1;i++){ これでは無限ループしそうです。 for(i=a;i<b+1;i++){ の間違いではないでしょうか?

zero-0
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう