基于C语言:找出9位数(含九位数)以内的自幂数

首先,给大家引出自幂数的概念:
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数)
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。

这个求解自幂数的程序,在自幂数的百度百科里有C++版本,而且我觉得有点复杂,今天上课期间老师编写了简便化的求解自幂数的C语言代码(哈哈,这个要特别感谢教主:MEC朱老师),现在拿出来跟大家分享一下,事先说明,本程序是因为充分考虑时间复杂度以尽量缩短程序运行的时间,所以部分代码段在表达的过程中可能有不同更好的表达
基于C语言:找出9位数(含九位数)以内的自幂数_第1张图片
基于C语言:找出9位数(含九位数)以内的自幂数_第2张图片
基于C语言:找出9位数(含九位数)以内的自幂数_第3张图片
最后欢迎留言交流,再次谢谢最亲爱的教主!

你可能感兴趣的:(基于C语言:找出9位数(含九位数)以内的自幂数)