自幂数:该数字上的每位数字,它们的n次方(n是它们的个数,如:123,有三位数,n就是3) 相加的结果等于这个该数字
如:153 : 1^3+5^3+3^3=153,这个就是自幂数
![](https://i-blog.csdnimg.cn/blog_migrate/ee4f61a24440d34fc66ae86c8162bfb7.png)
首先通过for循环把0-100000的数字制造出来
当temp每除10就是减掉一位,当temp为0时就没得减了,此时while循环也跳出来了
count就是位数了
![](https://i-blog.csdnimg.cn/blog_migrate/4246af622e5ad286767f4ab5ac7aceac.png)
再将temp初始化成n
pow(a,b)函数就是a^b
temp每%10就是取出最右边的第一位
temp再/10就是把最右边那一位去掉
这样就能取出temp的每一位,再将它们赋予count次方,然后再相加,sum汇总它们最后相加的数
![](https://i-blog.csdnimg.cn/blog_migrate/946d420c582eb53f80ab67197c97634f.png)
最后再判断sum和n是不是相同的,如果是,此时的n就自幂数了
再将n打印出来