C++写程序验证费马素数猜想是否正确法国数学家费马于1640年提出了如下猜想:假设一个映射关系F(n)=2^(2^n)+1 那么F(n)都是素数,F(0)=3 F(1)=5 F(2)=17…以此类推
时间: 2023-12-26 11:05:54 浏览: 100
以下是C++程序验证费马素数猜想的正确性:
```c++
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(long long int n) {
if (n <= 1) {
return false;
}
for (long long int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
long long int n, k1 = 1, k2 = 1, F = 1;
cout << "请输入一个正整数" << endl;
cin >> n;
for (long long int i = 0; i < n; i++) {
k1 = k1 * 2;
}
for (long long int i = 0; i < k1; i++) {
k2 = k2 * 2;
}
F = k2 + 1;
cout << "此时F(n)=" << F << endl;
if (isPrime(F)) {
cout << "F(n)是素数" << endl;
} else {
cout << "F(n)不是素数" << endl;
}
return 0;
}
```
阅读全文