寻找素数对

题目内容

题目描述

哥德巴赫猜想大家都知道一点吧。我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数。
由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的。

输入描述

输入一个偶整数N(5

输出描述

输出两个彼此最接近的素数,以空格隔开,其和等于该偶数。

样例输入

20

样例输出

7 13

提示

使用素数筛选法筛选出10000以内的素数。然后,对于输入的偶数,先求得其一半的值,若不为奇数则减去1,然后从这个奇数开始从大到小用奇数试探。根据哥德巴赫猜想,一个偶数可以分解为两个素数之和,其中一个必然小于或等于这个偶数的一半。有了上述的一个奇数p,对于输入的m来说,另外一个奇数就是m-p。只要测试这两个奇数都是素数,就得到了差距最小的两个素数,输出即可。
提交评测

题目描述

寻找素数对
1440
0
08Level6
62
27
44%
证书查询 x
请输入证书编号:

请输入正确的证书编号

学员姓名:孙兴民

课程:Scratch Level 1

发证日期:2019.08.15

证书查询

该证书不存在