查找组成一个偶数最接近的两个素数(HJ60)
一:解题思路
这道题目首先要知道怎么样判断一个数是否为素数,然后再去求查找组成一个偶数最接近的两个素数。
二:完整代码示例 (C++版和Java版)
C++:
#include <iostream> #include <cmath> using namespace std; bool isPrime(int x) { for (int i = 2; i <= sqrt(x); i++) if (x%i == 0) return false; return true; } void getTwoPrime(int x) { int low = 0; int high = 0; for (low = x / 2, high = x / 2; low >= 2 && high < x;) { while (!isPrime(low)) low--; while (!isPrime(high)) high++; if (low + high == x) { cout << low << endl; cout << high << endl; break; } else if (low + high < x) high++; else low--; } } int main() { int x = 0; while (cin >> x) { getTwoPrime(x); } return 0; }

浙公网安备 33010602011771号