发布时间:2025-12-10 23:46:12 浏览次数:4
求出所有的水仙花数
百度百科:水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:13 + 53+ 33 = 153。
判断一个数是否为水仙花数,可以先将该数的所有位都取出并存入数组,最后代入水仙花数的公式,如果满足水仙花条件,该数即为水仙花数。
#include<stdio.h>#defineINTEGER_MAXIMUM999//数字范围,最大值#defineINTEGER_MINIMUM100//最小值intif_narcissistic_number(intnum);intmain(){inti=0;for(i=INTEGER_MINIMUM;i<=INTEGER_MAXIMUM;i++){if(if_narcissistic_number(i)){printf("%d",i);}}printf("\n已求出所有水仙花数\n");return0;}/***@brief判断是否为水仙花数*@return1:是水仙花数;0:不是水仙花数*/intif_narcissistic_number(intnum){/*如果不是3位数*/if(num<100||num>999)return0;inthundreds=num/100;//百位inttens=num/10%10;//十位intones=num%10;//个位if(num==hundreds*hundreds*hundreds+\tens*tens*tens+\ones*ones*ones)return1;return0;}看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注本站行业资讯频道,感谢您对本站的支持。