#include #include using namespace std;

// 判断一个数是否为素数 bool isPrime(int n) { if (n <= 1) { return false; } for (int i = 2; i * i <= n; i++) { if (n % i == 0) { return false; } } return true; }

int main() { int n; cin >> n; vector primes; // 存放素数的容器 // 找出所有小于等于n的素数 for (int i = 2; i <= n; i++) { if (isPrime(i)) { primes.push_back(i); } } // 从头尾开始遍历primes,找出满足条件的两个素数 int left = 0, right = primes.size() - 1; while (left <= right) { int sum = primes[left] + primes[right]; if (sum == n) { cout << n << '=' << primes[left] << '+' << primes[right] << endl; break; } else if (sum < n) { left++; } else { right--; } } return 0; }

哥德巴赫猜想验证程序:分解偶数为两个素数之和

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

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