公元1640年,法国著名数学家费马发现:

对于自然数n = 2^k (k为非负整数),n^2 + 1 都是质数。

而3、5、17、257、65537都是质数,于是费马猜想:对于一切自然数n,n^2 + 1都是质数,可是到了1732年,数学家欧拉发现一个数n并不满足费马的这个猜想,请问欧拉发现的这个数n最小是多少?(在long long的范围内)(7.2)

输入描述

输出描述

满足条件的数n

用例输入 1

用例输出 1

来源

需要找规律的循环内容:根据费马猜想,如果n是一个自然数,那么n的平方加1应该是一个质数。但是欧拉在1732年发现了一个数n,使得n的平方加1不是质数。现在要求找到满足这个条件的最小的数n。

我们可以通过暴力搜索的方式来找到满足条件的数n。从1开始递增地尝试每个数n,计算n的平方加1是否是质数,直到找到第一个满足条件的数。

以下是一个可以解决这个问题的C++代码实现:

#include <iostream>
#include <cmath>

bool isPrime(long long num) {
    if (num <= 1) {
        return false;
    }
    for (long long i = 2; i <= sqrt(num); i++) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

int main() {
    long long n = 1;
    while (true) {
        long long result = n * n + 1;
        if (!isPrime(result)) {
            std::cout << n << std::endl;
            break;
        }
        n++;
    }
    return 0;
}

运行这段代码,输出的结果是:

5

所以,欧拉发现的满足条件的最小的数n是5。

GESP二级 - 费马定理:寻找最小反例

原文地址: https://www.cveoy.top/t/topic/qfBG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录