给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。
测试数据有多组,每组输入一个数n。
对于每组输入,若是素数则输出yes,否则输入no。
13
yes
解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7771-1-1.html
#include<iostream> #include<math.h> using namespace std; int isprime(int x) { int n=(int)sqrt(x),i; for(i=2;i<=n;i++) if(x%i==0)break; if(i>n) return 1; else return 0; } int main() { int k; while(cin>>k) { if(k==0||k==1||k<0) cout<<"no"<<endl; else if(isprime(k)) cout<<"yes"<<endl; else cout<<"no"<<endl; } return 0; } /************************************************************** Problem: 1047 User: vhreal Language: C++ Result: Accepted Time:0 ms Memory:1532 kb ****************************************************************/
原文地址:http://blog.csdn.net/wtyvhreal/article/details/42212137