思路:判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。
#include<iostream>
using namespace std;
int main() {
int p;
cin >> p;
bool f = 0;
if (p == 1) {
f=1;
}
for (int i = 2; i * i <= p; i++) {//也可以用sqrt(p)或直接i<w,不过i*i<=w算起来比较快
if (p % i == 0) {
f = 1;
}
}
if (f) {
cout<<"NO";
}
else {
cout<<"YES";
}
}
样例说明
//输入1
//15
//输出1
//NO
//输入2
//19
//输出2
//YES
如果有更好方法或代码出错请在评论区告诉我谢谢