计蒜客之判断质数

问题:

对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。晓萌想判断一个数是不是质数,希望找你写个程序,帮助她进行判断。
输入包括一行,为一个整数 N(1 < N ≤1000),正是晓萌给出你让你判断的数字。
输出包括一行,如果晓萌给出的整数 N 为质数,那么输出 YES;如果 N 不是质数,那么输出 NO。
 
使用 C++ 实现代码。
 
代码1:
 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 int main()
 5 {
 6 int n,i;
 7 cin>>n;
 8 int flag=1;
 9 if(n<2)
10   {
11     flag=0;
12   }
13 for (i=2;i<=sqrt(n);i++)
14     {
15         if(n%i==0)
16         {
17             flag=0;
18             break;
19         }
20     }
21 if(flag==1)
22    {
23        cout<<"YES"<<endl;
24     }
25 else
26     {
27         cout<<"NO"<<endl;
28     }
29 return 0;
30 }

 

代码2:

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 
 5 bool is_prime(int n)
 6 {
 7    if(n<2)
 8    return false;
 9    for(int i=2;i<=sqrt(n);i++)
10    {
11        if(n%i==0)
12        return false;
13    }
14    return true;
15 }
16 
17 int main()
18 {
19     int n;
20     cin>>n;
21     if (is_prime(n))
22     {
23         cout<<"YES"<<endl;
24     }
25     else
26     {
27         cout<<"NO"<<endl;
28     }
29 return 0;
30 }

 

posted @ 2016-06-27 15:53  小花开  阅读(303)  评论(0编辑  收藏  举报