Problem J: 使用素数测试函数验证哥德巴赫猜想

Problem J: 使用素数测试函数验证哥德巴赫猜想

Time Limit: 5 Sec  Memory Limit: 128 MB
Submit: 487  Solved: 178
[Submit] [Status] [Web Board] [Creator:]

Description

哥德巴赫猜想(Goldbach conjecture):任一大于2的偶数都可写成两个素数之和。 

1742年6月,在哥德巴赫写给欧拉(Euler)的信中提出这个问题,目前为止无人证明这一猜想是否正确,最接近的证明结果是中国数学家陈景润在1973年证明的"1+2"成立,即"任一充分大的偶数都可以表示成两个素数的和,或是一个素数与两个素数乘积的和",在超级计算机上验证e3100(≈101346)范围内的偶数均没有找到反例 。

要求:编写素数测试函数 int isPrime(int n); 如果n为素数,函数返回1,否则返回0 

main()函数中调用isPrime对输入的偶数N(N>2)进行分解验证

Input

输入一个大于2的偶数N,测试数据有多组,处理到输入结束。

Output

两个素数a和b,之间有一个空格,并且满足N=a+b且a≤b;

如果N的分解结果不止一组素数,则输出相差绝对值最大的一组

Sample Input Copy

4
10

Sample Output Copy

2 2
3 7