先看一下完整的编程界面,运行程序后,你可直接看到遍历过程和所求得到的水仙花数。
在使用scratch求水仙花数之前,我们先了解一下水仙花数的定义,网络上的解释是这样的,水仙花数是指一个3位数,它的每个位上的数字的3次幂(一个数连续乘以自身3次)之和等于它本身。举个例子,是水仙花数,其个位上数字是3,而3的3次幂是3?3?3=27;十位上的数字是5,而5的三次幂是5?5?5=;百位上的数字是1,而1的三次幂是1?1?1=1;然后求和得27++1=,则说明是水仙花数,当然这个定义只针对三位数,即到的范围。那我们如何使用scratch来遍历求取三位数中的水仙花数呢?答案是创建变量a,b,c,number和sum;其中number代表三位数,a代表number百位上的数字,b代表number十位上的数字,c代表number各位上的数字,最后,sum则表示各个位上数字的三次方之和。来看一下代码:
其中最后一个是列表,用来保存满足水仙花数条件的三位数。
接下来一段代码则需要遍历三位数,并且把每一个三位数各个数位上的数字单独提取出来,先进行三次方运算在求和,与这个数本身比较,如果相等,则这个数是水仙花数,反之,这个数就不是水仙花数。先来看一下代码:
接下来解释一下这段代码,其中,将number设为,重复执行直到number大于,并且在循环内部每次都将number加1,这几步是在遍历三位数,进入循环框内,分别将a,b,c,sum设为某一多项式,则是在取出三位数上的每一位的数字,和进行三次方求和。接下来的判断也很明确,如果三次方求和sum与number相等,则作为水仙花数存入列表,否则说出这个数不是水仙花数即可。
你可以扫描下方