#1290: 為啥會CE??我在DEV C++執行沒有錯ㄟ


cutebee (呆呆)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 3652
來源 : [58.114.70.217]
最後登入時間 :
2009-04-02 19:55:11
a007. 判斷質數 | From: [58.114.70.217] | 發表日期 : 2009-02-02 14:50

#include<iostream>
#include<math.h>
using namespace std;

int main(){
    int a, b, c, d;
    while(scanf("%d", &a)!=EOF){
        b=sqrt(a);
        if(a==2||a==3){
        cout<<"質數"<<endl;
        }
        else{
        for(c=2;c<=b;c++){
            d=a%c;
            if(d==0){
                cout<<"非質數"<<endl;
                break;
            }
            else if(b==c){
                cout<<"質數"<<endl;
            }
        }
        }
    }
return 0;
}

希望大家幫忙解答~

 
#1300: Re:為啥會CE??我在DEV C++執行沒有錯ㄟ


cs8425 (cs8425)

學校 : 新北市立板橋高級中學
編號 : 2443
來源 : [114.36.50.67]
最後登入時間 :
2015-01-16 23:58:56
a007. 判斷質數 | From: [61.227.226.26] | 發表日期 : 2009-02-02 22:52

#include
#include
using namespace std;

int main(){
int a, b, c, d;
while(scanf("%d", &a)!=EOF){
b=sqrt(a);
if(a==2||a==3){
cout<<"質數"<
}
else{
for(c=2;c<=b;c++){
d=a%c;
if(d==0){
cout<<"非質數"<
break;
}
else if(b==c){
cout<<"質數"<
}
}
}
}
return 0;
}

希望大家幫忙解答~ 

 

   b=sqrt(a); 改  b=(int) sqrt( (double) a); 應該就可以了

 sqrt()要用double的類型.(gcc 3.4 很嚴阿,比4.2嚴...)

 
ZeroJudge Forum