利用規約の変更について

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文を使うんですか?
ご指導お願いします。

このQ&Aに関連する最新のQ&A

素数」に関するQ&A: 素数は無限

A 回答 (2件)

> この部分がよくわかりませんfor文を使うんですか?



そうです。
iとjの二重のfor-loopの内側にifがふたつ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/24 16:07

非常に単純なプログラムで、ご質問者の疑問が何なのか良く把握できませんが、以下のfor文はおかしいですね。



for(i=a;a<b+1;i++){

これでは無限ループしそうです。

for(i=a;i<b+1;i++){

の間違いではないでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/24 17:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング