- 哥德巴赫猜想
行
- @ 2026-1-7 19:19:13
#include <iostream>
#include <cmath> // 用于sqrt函数
// 判断一个数是否为素数
bool isPrime(int n) {
// 小于2的数不是素数
if (n < 2) {
return false;
}
// 2是唯一的偶素数
if (n == 2) {
return true;
}
// 大于2的偶数不是素数
if (n % 2 == 0) {
return false;
}
// 只检查奇数,从3到平方根
for (int i = 3; i <= sqrt(n); i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
// 遍历6到100的所有偶数
for (int evenNum = 6; evenNum <= 100; evenNum += 2) {
// 从3开始找第一个素数加数(保证第一个加数最小)
for (int prime1 = 3; prime1 <= evenNum / 2; ++prime1) {
int prime2 = evenNum - prime1;
// 两个数都是素数时输出并跳出内层循环
if (isPrime(prime1) && isPrime(prime2)) {
std::cout << evenNum << "=" << prime1 << "+" << prime2 << std::endl;
break;
}
}
}
return 0;
}
```c++
0 comments
No comments so far...
Information
- ID
- 673
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 4
- Tags
- (None)
- # Submissions
- 138
- Accepted
- 69
- Uploaded By