首先我们得知道什么是哥德巴赫猜想猜想,哥德巴赫猜想猜想的一种表述是任意一个大于等于6的整数可以写成3个质数之和(质数的概念我就不累述了),比如6可以写成2+2+2,在计算机中用“%”算符加循环很任意判断质数,“%”算符的意思就是求一个数除以另一个数的余数,比如7=5*1+2,那么7%5=2,用这个算符就很容易判断一个数是不是另一个数的因素。这样加上一个循环判断从2到x-1如果没有整数i使得n%i=0,那么这个数就是质数。为了减少运算只需判断2到x/2就行了,值得注意的是我将x定义为int类型(整型),x除以任何一个int类型数只会得到int类型的整数(如果是除以浮点类型系统会进行自动类型转换)。我的第一个函数Z函数就是用于判断x是不是质数(如果是返回1,不是返回0)。然后再看我的F函数,这个是将一个数写成3个质数之和。思路如下:首先如果输入的数小于6就打出error报错结束运行,如果不是就到下一步判断这个数是奇数还是偶数,如果是偶数就先让它减去2之后还是偶数,如果是奇数就先让它减去3让他变为偶数,之后再让完成减法运算后的数除以2分别令i,j等于这两个数再调用Z函数判断i,j是否同为质数,如果不是就让i=i-1,j=j+1之后继续判断。这样就可以将偶数写成2+i+j,奇数写成3+i+j的形式(注意这里的i,j已经经过迭代。其实我这种算法是将问题简化为一个偶数写成两个质数和),再来看主函数,主函数就是让你输入一个数然后逐个将6到这个数逐一写成3个质数和的形式。具体代码如下:
(注意这只能验证有限个数对于哥德巴赫猜想成立,并不能证明哥德巴赫猜想!
(如果转载请注明作者)