#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;
}
希望大家幫忙解答~
#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嚴...)