C++实现 L1-028 判断素数 (10分)
一、描述
本题的目标很简单,就是判断一个给定的正整数是否素数。
二、输入格式
输入在第一行给出一个正整数N ( ≤ 10 ) (≤ 10) (≤10),随后N行,每行给出一个小于 2 31 2^{31} 231的需要判断的正整数。
三、输出格式
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。
四、输入样例
2
11
111
五、输出样例
Yes
No
六、思路
- 定义判断素数函数;
注意:1和其他数分开判断。 - 录入的同时进行判断输出。
七、小知识点
素数判断函数:
bool isprime(int a)//判断素数
{
if(a==1)//a为1则一定不是素数
return false;
bool flag=true;
int n=sqrt(a);
for(int i=2;i<=n;i++)
{
if(a%i==0)//若模小于根号a的结果等于0,则不为素数
{
flag=false;
break;
}
}
return flag;
}
八、代码
#include <iostream>
#include <cmath>
using namespace std;
bool isprime(int a);//判断素数
int main()
{
int n;//将输入n个整数
cin>>n;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
if(isprime(x)==true)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}
bool isprime(int a)//判断素数
{
if(a==1)//a为1则一定不是素数
return false;
bool flag=true;
int n=sqrt(a);
for(int i=2;i<=n;i++)
{
if(a%i==0)//若模小于根号a的结果等于0,则不为素数
{
flag=false;
break;
}
}
return flag;
}