世界三大数学猜想:费马猜想、四色猜想、哥德巴赫猜想。这三个问题的共同点就是题面简单易懂,但是内涵深邃,影响了一代代的数学家。其中前两个猜想已经被证明,但是哥德巴赫猜想目前尚未解决,当前取得最好成果的是中国数学家陈景润。
德国数学家哥德巴赫在1742年提出了一个大胆猜想:任何不小于3的奇数,都可以是三个质数之和(如:7=2+2+3,当时1仍属于质数)。但是哥德巴赫自己也无法证明它,于是他写信请教赫赫有名的数学家欧拉来帮忙证明。欧拉在回信中提出了另一个版本的哥德巴赫猜想:任何偶数,都可以是两个质数之和(如:4=2+2。当时1仍属于质数)。前者被称为弱哥德巴赫猜想(已被证明),后者为强哥德巴赫猜想至今尚未被证明。由于1已经不归为质数,所以这两个猜想分别变为:
任何不小于7的奇数,都可以写成三个质数之和的形式;
任何不小于4的偶数,都可以写成两个质数之和的形式。
我们可以用编程来帮助理解和分析这个猜想,用Scratch来验证“100以内不小于4的偶数都能分解成两个质数之和”。
先确定解决问题的思路,我们把4-100的偶数分解成两个数,一部分是质数A,另一部分B等于偶数-A,接下来判断B是否也是质数,如果两个都是质数,则验证通过,保存到列表。这个思路是不是很直接?因为复杂的计算都交给电脑完成了。接下来的难点就是如何善用循环和判断质数办法了(2020年12期介绍过),一起来看看吧。
使用Mind+编程,创建变量:偶数、是质数、i(用于计算质数)、j(用于分解偶数)、列表(保存结果)。
设置偶数值为4,重复执行到偶数大于100停止;每次执行完积木“哥德巴赫猜想”后增加2(图1)。
自制積木“哥德巴赫猜想”用于判断,变量j用来代表其中一个加数,利用循环来判断该加数是否为质数,判断质数的过程在自制积木“是否质数”中。如果j是质数,则判断另外一个加数(偶数-j)是否也是质数,如果两个加数同时满足,那么将这个正确的结果加入列表,否则将j增加1继续循环(图2)。
判断质数的过程之前讲过,这里选择了最简单的一种,重复执行直到变量i大于(数字-1)为止(比如需要判断的数字j是10,那么变量i的取值的范围在2-9之间),在循环过程中判断数字除变量i的余数是否等于0,如果取余的结果等于0代表该数字不是质数,直接跳出循环,如果完成循环余数都不等于0,代表该数字是质数,将“是质数”设置为1循环结束(图3)。
最终可以把4-100之间的偶数分解成两个质数之和,每个数有一个解即可。当然偶数的分解方法有很多种,还可以先建立一张质数表,然后通过质数来判断两个数相加的和(图4)。