给定一个数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