题解
【入门】费马定理
1 条题解
-
0
解题思路
费马猜想:费马数 F_n = 2^(2^n) + 1 都是质数。欧拉推翻了它,找到一个 n 使 F_n 不是质数,问最小的 n 是多少。
结论:n=5。
- F_0 = 2^1 + 1 = 3(质数)
- F_1 = 2^2 + 1 = 5(质数)
- F_2 = 2^4 + 1 = 17(质数)
- F_3 = 2^8 + 1 = 257(质数)
- F_4 = 2^16 + 1 = 65537(质数)
- F_5 = 2^32 + 1 = 4294967297 = 641 × 6700417(不是质数!)
所以最小的反例是 n=5。
参考代码
#include <iostream> using namespace std; int main() { // 费马数 F_5 = 2^32+1 = 4294967297 = 641×6700417,不是质数 cout << 5; return 0; }复杂度分析
- 时间复杂度:O(1)
- 空间复杂度:O(1)
- 1