思维导图
大致思路
代码
- 注意事项,博主自己犯的
- 统计个数写出%10(粗心)
- 一定要把值符给变量,不然改变的就是循环
- 判断我写成place。。。(梅开二度)
int main()
{
int i = 0;
for ( i = 0; i < 100000; i++)
{
int count = i;//求的是i位的指数幂,但是直接改i会导致循环出问题
int index = 1;//1位数的幂为1
while (count/10) //求是幂个数
{
index++;
count /= 10;//消除一位,注意写法
}
int place = i;//和上面count同理
int tmp = 0;
while (place)
{
tmp += pow(place % 10, index);
place /= 10;
}
if (tmp == i)
{
printf("%4d", tmp);
}
}
return 0;
}
2021-5-28