ZKX's LAB

C语言水仙花数算法 算法里叫水仙花数的由来

2021-04-05知识3

“水仙花数”C语言程序 代码如下:includeint main(){printf(\"输出2113水仙花数:5261\\n\");int i=100;for;i;i+){int num_0=i%10;int num_1=i/10%10;int num_2=i/10/10%10;if(i=(num_0*num_0*num_0+num_1*num_1*num_1+num_2*num_2*num_2))printf(\"%d\\t\",i);}return 0;}扩展资料:自幂数是指一个 n 位数,它的每个位4102上的数字的 n 次幂之和等于它本1653身。n为1时,自幂数称为独身数。显然,0,1,2,3,4,5,6,7,8,9都是自幂数。n为2时,没有自幂数。n为3时,自幂数称为水仙花数,有4个:153,370,371,407;n为4时,自幂数称为四叶玫瑰数,共有3个:1634,8208,9474;n为5时,自幂数称为五角星数,共有3个:54748,92727,93084;n为6时,自幂数称为六合数,只有1个:548834;n为7时,自幂数称为北斗七星数,共有4个:1741725,4210818,9800817,9926315;n为8时,自幂数称为八仙数,共有3个:24678050,24678051,88593477;n为9时,自幂数称为九九重阳数,共有4个:146511208,472335975,534494836,912985153;n为10时,自幂数称为十全十美数,只有1个:4679307774。参考资料:—水仙花数

什么是水仙花数? 一、水仙花数(Narcissistic number)也2113被称为超完全5261数字不变数(pluperfect digital invariant,PPDI)、自恋数、自幂数、阿姆斯4102壮数或阿姆斯特朗1653数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3+5^3+3^3=153)。二、例题:求取100至100,000以内的所有水仙花数。思路分析:1、总体框架用for遍历指定区间,判定当前循环变量【i】是否为水仙花数:是,则输出到控制台;问题细化为:判定某自然数【i】是否为水仙花数,具体过程由步骤2给出。2、子框架:判定过程大致分两步进行:2.1、准备参数根据【i】,算得【i】的总位数D(digit);【i】中各位数的D次幂的和sum;2.2、判定结果比较sum和【i】值的大小,结果传给【步骤1】;此时问题进一步细化为:计算总位数D和各位数的D次幂之和sum,具体结果分别由【步骤3】、【步骤4】给出;3、D的计算用10累除n,其商截尾取整:n/10,再放入while语句,统计商变为0时的总累除次数,该次数+1即为D;4、sum的计算根据定义,只需利用for循环获取自然数n的各位数的值,在用sum累加各位数的D次幂即可。具体代码:运行结果:扩展资料:关于c语言。

水仙花数的算法 Private Sub Form_Click()Dim a As Long,b As Long,c As Long,x As Long,y As Long,z As Long,t As Longt=a*100+b*10+cFor a=1 To 9For b=1 To 9For c=1 To 9z=c^3y=b^3x=a^3if t=x+y+z thenPrint aPrint bPrint cNext cNext bNext aEnd Sub

#算法里叫水仙花数的由来#java求水仙花数的算法是什么

随机阅读

qrcode
访问手机版