C++判断素数

1.对于判断一个数n是否为素数,最朴素的方法是按素数的定义,试除以从2开始到m-1的整数,如果无一例外地不能整除,则该数一定是素数。

#include
using namespace std;

int main(){
int n;
cin >> n;
for(int i=2; i if(n%i == 0){
cout << n << " isn’t a prime" << endl;
return 1;
}
}
cout << n << " is a prime" << endl;
return 0;
}

2.想一想,若2都不能除尽,还要试4, 6, 8, …吗?若3都不能除尽,还要试9, 15, 21, …吗?等等。一个数,如果有因子的话,那么在它的平方根数以内就应该有,否则就没有因子。所以必定有一个因子不大于m的平方根。故判断m是否为素数,只要试除到m的平方根就可以了,不必一直到m-1。

#include
#include
using namespace std;

int main(){
int n;
cin >> n;
for(int i=2; i<=sqrt(n); i++){
if(n%i == 0){
cout << n << " isn’t a prime" << endl;
return 1;
}
}
cout << n << " is a prime" << endl;
return 0;
}
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Jonms/article/details/80464622

你可能感兴趣的:(C++)