题目描述
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对
示例1
输入:20
输出
7
13
#include <iostream>
#include <algorithm>
using namespace std;
//判断是不是素数
bool isPrime(int num)
{
int tmp = sqrt(num);
for (int i = 2; i <= tmp; i++)
{
if (num%i == 0)
{
return false;
}
}
return true;
}
int main()
{
int n;
int half;
int i;
while (cin >> n)
{
half = n / 2;
for (i = half; i > 0; i--)
{
if (isPrime(i) && isPrime(n - i))
{
break;
}
}
cout << i << endl;
cout << n - i << endl;
}
system("pause");
return 0;
}