本题要求编写程序,判断一个给定的整数是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
输入格式:
输入在一行中给出一个需要判断的整数 M(−231≤M≤231−1)。
输出格式:
如果M是素数,则在一行中输出Yes
,否则输出No
。如果输入了非正整数,也要输出No
。
输入样例1:
11
输出样例1:
Yes
输入样例2:
9
输出样例2:
No
输入样例3:
-2
输出样例3:
No
代码:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n, i;
cin >> n;
if (n <= 1) cout << "No";
else {
for (i = 2; i <= sqrt(n); i++) {
if ((int) n % i == 0) break;
}
if (i > sqrt(n)) cout << "Yes";
else cout << "No";
}
return 0;
}