请教:一个大于6的任何偶数都是两个素数之和!!(DELPHI)(50分)

  • 主题发起人 angel_ying
  • 开始时间
A

angel_ying

Unregistered / Unconfirmed
GUEST, unregistred user!
验证“歌德巴赫猜想”!
我想题目的意思应该是输入一个大于6的偶数,然后通过算法把组成这个偶数的两个素数输出!!
例如:输入:26,输出:26是由7和23两个素数主成的!!
我想了很久输出的算法,总是有一些问题!!!
怎样存放小于输入数的所有素数,然后让两个素数相加等于输入数,就输出。
如果有几对素数相加都等于输入数的话(如:13+13也等于26),是不是遇到第一对时就退出循环?可以用数组来实现吗?
用数组存放小于输入数的所有素数,然后第一个和倒数第二个相加看是不是等于输入数,是就退出循环,不是的话就第一个和倒数第三个相加,直到找到为止?
但是如果用数组,因为这个输入数可以是无限大的,那么数组又要怎样定义呢?

 
你没必要把小于输入数的所有素数存放在一个数组里面
能否用以下算法:
N:输入的偶数
isprime(Avalue) :检验是否是素数的函数
for i=1 to N
begin
j=N-i
if isprime(i) and isprime(j) then
break;
end
这时 i,j的值就为所求的两素数
 
素数在中学里又叫做质数。
 
数学算法:
N偶数,i,j素数
N=i+j
我以前用C编过一个,需要的话联系我
 
多人接受答案了。
 
顶部 底部