入门c++之判别素数

判别素数

题目:
【问题描述】输入一个整数n,判断n是否是素数,并输出结论。素数的定义为:一个只能被1和它本身整除的数,称为素数。(100000≥n≥2)
【输入形式】输入一个整数n。
【输出形式】若是,则输出n is a prime.;若不是,则输出n is not a prime.
【样例输入】15
【样例输出】15 is not a prime.【样例说明】15=35,不是素数。
【样例输入】5
【样例输出】5 is a prime.【样例说明】5=1
5,是素数。

【问题分析及注意点】
1.1不是素数。
2.在运用sqrt()函数时需包含<math.h>或头文件。
3.注意1<sqrt(2)<sqrt(3)<2。

【示例代码】

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n,i=0,x=0,k=0;
    cin>>n;
    k=sqrt(n);
    if(n==1) {x=0;}
    else if(n==2||n==3) {x=1;}
    else for(i=2;i<k;i++)
    {
     if(n%i==0)
    {
    	x=0;
      	break;
    }
     else x=1;
   }
    if(x==0)
        {cout<<n<<" is not a prime.";}
    else if(x==1) {cout<<n<<" is a prime."<<endl;}
    return 0;
}
发布了13 篇原创文章 · 获赞 0 · 访问量 124

猜你喜欢

转载自blog.csdn.net/qq_45909595/article/details/104070869