第一步,质数判别算法改进
若n不是素数,则n可表示为a*b
,其中2<=a<=b<=n-1
,则a一定满足:1<a<=sqrt(n)
;
因而,只需要用2~sqrt(n)
去除n,而不用1~n-1
.这样便极大地减少了循环次数,改善了算法效率。
第二步,构造哥德巴赫判别函数
在上节课哥德巴赫猜想(一)的代码上进行修改,对歌德巴赫判定的代码封装到哥德巴赫判别函数
定义参数y,即为当前需要进行哥德巴赫判定的数,然后将代码中的“回答”改成参数y的值。
将“符合哥德巴赫猜想成功时说出Y=n1+n2
的代码”修改为:猜想成功时,将Y=n1+n2
添加到链表goldbach
中。
第三步,编写主代码,遍历从6开始的所有偶数,并对每一个偶数进行哥德巴赫判别;