Scratch编程学数之求阿姆斯特朗数
(一)何谓阿姆斯特朗数
如果一个n位正整数N等于其各位数字的n次方和,则称该数N为阿姆斯特朗数(亦称N为自恋性数)。
例如 1~9这9个数都是一位的阿姆斯特朗数,没有两位的阿姆斯特朗数。比如
4^3+0^3+7^3=64+0+343=407
这样的三位阿姆斯特朗数就是著名的水仙花数,也即特指一种三位数,其各个数之立方和等于该数。
水仙花数共有4个,分别为:153、370、371、407。
(二)试编程求1000000以内(1至6位)的所有阿姆斯特朗数。
(1)问题分析与算法设计
可采用穷举法,依次取1000000以内的各数(设为k),将k的各位数字分解后,据阿姆斯特朗数的性质进行计算和判断。
(2)因Scratch没有内置幂函数,需要建立一个求N的n次方的子程序:
(3)主程序,穷举法判别阿姆斯特朗数,并将其加入列表“阿姆斯特朗数表”:
(4)程序运行结果:
(5)试一试:在Scratch的精度范围内,再扩大一些范围,求出更多的阿姆斯特朗数。
(三)附1~39位阿姆斯特朗数:
1 | 1, 2, 3, 4, 5, 6, 7, 8, 9 |
3 | 153, 370, 371, 407 |
4 | 1634, 8208, 9474 |
5 | 54748, 92727, 93084 |
6 | 548834 |
7 | 1741725, 4210818, 9800817, 9926315 |
8 | 24678050, 24678051, 88593477 |
9 | 146511208, 472335975, 534494836, 912985153 |
10 | 4679307774 |
11 | 32164049650, 32164049651, 40028394225, 42678290603, 44708635679, 49388550606, 82693916578, 94204591914 |
14 | 28116440335967 |
16 | 4338281769391370, 4338281769391371 |
17 | 21897142587612075, 35641594208964132, 35875699062250035 |
19 | 1517841543307505039, 3289582984443187032, 4498128791164624869, 4929273885928088826 |
20 | 63105425988599693916 |
21 | 128468643043731391252, 449177399146038697307 |
23 | 21887696841122916288858, 27879694893054074471405, 27907865009977052567814, 28361281321319229463398, 35452590104031691935943 |
24 | 174088005938065293023722, 188451485447897896036875, 239313664430041569350093 |
25 | 1550475334214501539088894, 1553242162893771850669378, 3706907995955475988644380, 3706907995955475988644381, 4422095118095899619457938 |
27 | 121204998563613372405438066, 121270696006801314328439376, 128851796696487777842012787, 174650464499531377631639254, 177265453171792792366489765 |
29 | 14607640612971980372614873089, 19008174136254279995012734740, 19008174136254279995012734741, 23866716435523975980390369295 |
31 | 1145037275765491025924292050346, 1927890457142960697580636236639, 2309092682616190307509695338915 |
32 | 17333509997782249308725103962772 |
33 | 186709961001538790100634132976990, 186709961001538790100634132976991 |
34 | 1122763285329372541592822900204593 |
35 | 12639369517103790328947807201478392, 12679937780272278566303885594196922 |
37 | 1219167219625434121569735803609966019 |
38 | 12815792078366059955099770545296129367 |
39 | 115132219018763992565095597973971522400, 115132219018763992565095597973971522401 |
页面更新:2024-03-02
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号