趣味数学——寻找完全数

2021-06-25 22:18陈新龙
电脑报 2021年1期
关键词:因数整数列表

陈新龙

在神奇的数学王国中,一些特殊的数字有自己的专属别称,比如水仙花数、阿姆斯特朗数、回文数……你可以通过上网查阅找到这些数字中蕴含的秘密,并用程序快速找到它们。今天我就用Scratch来研究一下完全数。

所谓完全数,又称完美数或者完备数,如果一个自然数恰好等于它本身以外的所有因子之和,那么这种数就叫做完全数。要认识完全数首先得理解因子这个概念,因子就是所有可以整除这个数的数,不包括这个数自身。而因数就是所有可以整除这个数的数且包括这个数自身。假如A*B=C(A、B、C都是整数)那么我们就称A和B是C的因子,注意只有两个因子都为整数时,此关系才成立。

6是最小的完全数,除去它自身的因子是1、2、3,三个因子1+2+3=6,刚好是该数的本身。而数字15的因子有1、3、5、15四个数字,除去15本身1+3+5=9,所以15不是完全数。现在了解了原理之后我們一起寻找1000以内的完全数吧。计算机求完全数最简单的方法就是使用穷举法,列出每个自然数,求出各因子的和,如果这个和等于该自然数,那么这个数就是一个完全数。

首先创建三个变量:“自然数”包括1-1000之间所有的自然数;“数字n”寻找每个自然数的因数过程中的除数,如果自然数能被数字n整除,那么数字n就是这个自然数的一个因数;“因子和”不包括它本身的所有因子的和。还要创建一个完全数列表用于存放找到的完全数。

整个程序采用双重循环的结构,外层重复执行到自然数等于1000时跳出循环,代表自然数从1-1000取值的过程,内层循环用于寻找完全数的过程,在内层循环中加入判断语句,如果自然数除以数字n的余数等于零(即整除时),将对应的因子进行累加。如果最终得出的因子和等于该自然数时说明我们找到了一个完全数,将结果添加到列表中。最终列表中的结果为6、28、496三个结果。如果我们耗费更长的时间,能找到完全数还有8128、33550336。截至2018年,相关研究者已经找到51个完全数。

其实在神奇的数学王国中还有很多类似完全数这样有趣的数字,后期我也会继续和大家分享更多有趣的内容包括北斗七星数、九九重阳数……

猜你喜欢
因数整数列表
扩列吧
这是流行病
《因数和倍数》教学设计
“倍数和因数”教学设计及反思
动摩擦因数的测定
列表法解分式方程问题探索
列表画树状图各有所长
因数与倍数问题常见错例
2011年《小说月刊》转载列表
答案