查詢組成一個偶數最接近的兩個素數(HJ60)
阿新 • • 發佈:2020-08-03
一:解題思路
這道題目首先要知道怎麼樣判斷一個數是否為素數,然後再去求查詢組成一個偶數最接近的兩個素數。
二:完整程式碼示例 (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(intx) { 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; }