完全数-使用Scratch快速求解完全数

完全数-51scratch
完全数-使用Scratch快速求解完全数
此内容为付费资源,请付费后查看
9.9
限时特惠
19.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源

什么是完全数?

我们先从6说起吧,在西方,自然数6就是一个备受宠爱的数字。有人认为,6是属于美神维纳斯的,它象征着美满的婚姻;也有人认为,宇宙之所以这样完美,是因为上帝创造它时花了6天时间等等。中国人对6的宠爱,也是很有说法的,例如“六六大顺”、“六畜兴旺”、“六朝金粉”、“六合同风”……等等。

在数学领域,6是第一个完全数,也是最小的完全数。那什么是完全数呢?完全数又称为完美数或完备数。他的定义如下:

如果一个自然数恰好等于除去它本身以外的所有因素之和,这种数就叫作完全数。

比如,6就是一个完全数,除去它自身的因素是1、2、3,三个因素加起来,其和为6,恰好等于该数自身。

古希腊数学家毕达哥拉斯是最早研究完全数的人,他在当时已经知道6和28是完全数。毕达哥拉斯曾说:“6象征着完满的婚姻以及健康和美丽,因为它的部分是完整的,并且其和等于自身”。

毕达哥拉斯
毕达哥拉斯

在完全数被发现之后,无数的数学家和业余爱好者醉心于寻找更多的完全数。法国数学家笛卡尔曾公开预言:“能找出完全数是不会多的,好比人类一样,要找一个完人亦非易事。”

笛卡尔
笛卡尔

历史证实了他的预言。2600多年来,人们历尽艰辛,一共才找到51个完全数。2018年,来自美国佛罗里达州的互联网专家及数学爱好者帕特里克·拉罗什利用“互联网梅森素数大搜索”项目,成功发现第51个完全数2^82589932,该数有49724095位,是目前人类发现的最大完全数。如果用普通字号将它打印下来,其长度将超过200公里!

有趣的是,这些完全数都是偶数;其个位数要么是6,要么就是8。由于完全数具有独特美妙的数学性质,千百年来,许多著名数学家以及无数数学爱好者对它情有独钟。

今天,我们就使用Scratch软件编写程序来找出1000以内的完全数。

编程思路

根据完全数的描述,采用枚举法是最简单的,从1开始,依次列举每一个自然数,先找出不包括它自身的各个因素之和,再进行判断,如果和恰好等于该自然数,则说明这是一个自然数,将其存入列表,然后继续处理下一个。可以分为两步来实现:

  1. 定义自制积木,获取自然数的各个因素并求和
  2. 使用枚举法,判断自然数是否为完全数,并存入列表

程序设计

1.定义自制积木

根据前面的分析,我们先创建一个自制积木,其作用是对于给定的自然数,找出它的各个因素(不包括自然数本身)并求和,因此,我们需要创建两个变量“因素之和”和“计数器”,并将自制积木命名为“计算因数之和”,具体的代码如下:

定义自制积木“计算因数之和”
定义自制积木“计算因数之和”

2.使用枚举法获取完全数

接下来就可以使用枚举法,从1开始逐个进行判断了,因此,需要定义一个变量“自然数”以及列表“完全数”,具体的程序如下:

使用枚举法获取完全数
使用枚举法获取完全数

运行效果

单击绿旗运行程序,很快就能找到1000以内的3个完全数,它们分别是6、28和496,之后再等待相对较长一点的时间,又找到一个四位数的完全数8128。如图所示:

程序运行效果
程序运行效果

而要找到第5个完全数,需要花费的时间会更长一些,如果你有足够的耐心,当寻找到8位的自然数时就能找到33550336这个完全数。很显然,使用这个算法是比较低效的,要想继续寻找更大的完全数是不切实际的,由此可见,寻找完全数并不是一件容易的事情。

© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容