题目描述
输入一个数 N ,请你判断其是否为质数。
若为质数,输出Yes,否则输出No。
输入输出格式
输入格式
输入一个正整数 N。
输出格式
输出 Yes 或者 No
输入输出样例1
输入
2
输出
Yes
输入输出样例2
输入
4
输出
No
说明提示
2≤N≤10 5
代码如下:
#include <iostream>
#include <vector>
using namespace std;
//记得考虑这个数字本身是不是质数
bool isprime(int num){
for(int i=2;i*i<=num;i++){
if(num%i==0)
return false;//不是质数
}
return true;//是质数
}
int main(){
int N;
cin>>N;
//1既不是质数,也不是合数
//质数定义:自然数中除了1和这个数字本身外,不能再被其他数整除的数字
//合数定义:自然数中除了1和这个数字本身外,还能被其他数字整除的数字
//整除就是 被除数除以除数的商是整数,没有余数
//研究质数 合数等数论问题时候,都在正整数范围内进行
if(isprime(N)&&N!=1)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
return 0;
}