1. 程式人生 > 實用技巧 >查詢組成一個偶數最接近的兩個素數(HJ60)

查詢組成一個偶數最接近的兩個素數(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; }