您的位置:首页 > 其它

ACM 判断素数

2011-11-27 12:47 281 查看
#include <iostream>

using namespace std;

bool ssh(int n);

/*

[align=left]Problem Description[/align]

可怜的小木偶不会判断素数是什么东西,还是你来教她吧。


[align=left]Input[/align]

测试数据有多组,每组的表述如下:
第一行有一个数字T,表示要测试的次数,(0<T<20);
接下来是T行数据,每一行包含一个数据a其中0<a<30000。


[align=left]Output[/align]

如果输入的数据是素数输出Yes,否则输出No。


*/

int main()

{

int k;

int i=1;

cin>>k;

while(i<=k)

{

int a;

cin>>a;

if(a==1)//1不是素数也不是合数

{

cout<<"No"<<endl;

i++;

continue;

}

if(a==2||a==3)

{

cout<<"Yes"<<endl;

i++;

continue;

}

if(ssh(a))

cout<<"Yes"<<endl;

i++;

}

return 0;

}

bool ssh(int n)

{

for (int m=2;m<=n/2;m++)

{

if(n%m==0)

{

cout<<"No"<<endl;

return false;

}

}

return true;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: