判别素数
题目:
【问题描述】输入一个整数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=15,是素数。
【问题分析及注意点】
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;
}