NEFU 109 云之遥——素数
云之遥--素数 |
||
|
||
description |
||
你能判断1个数是不是素数吗?
|
||
input |
||
输入数据有多组,每组1个数N,这里N是大于0且小于1000的整数。
|
||
output |
||
是素数,输出YES,否则输出NO,注意大小写啊!
|
||
sample_input |
||
1
2
3
4
|
||
sample_output |
||
NO
YES
YES
NO
|
直接贴代码,埃拉托斯尼斯筛法不解释
[C++]
1 #include<iostream> 2 #include<cstring> 3 4 using namespace std; 5 6 bool isPrime[1001]; 7 8 void initial() 9 { 10 memset(isPrime,true,sizeof(isPrime)); 11 isPrime[0]=isPrime[1]=false; 12 for(int i=4;i<=1000;i+=2) 13 isPrime[i]=false; 14 for(int i=3;i*i<1000;i+=2) 15 if(isPrime[i]) 16 for(int j=i*2;j<=1000;j+=i) 17 isPrime[j]=false; 18 } 19 20 int main() 21 { 22 int n; 23 24 initial(); 25 26 while((cin>>n)&&n) 27 cout<<(isPrime[n]?"YES":"NO")<<endl; 28 29 return 0; 30 }


浙公网安备 33010602011771号