问题:
对于大于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 }
时间: 2024-11-14 13:00:17