进阶之旅 (每日一题)水仙花数"/>
C语言进阶之旅 (每日一题)水仙花数
思维导图
大致思路
- 水仙花概念
- 获得他指数幂,计数器
- 剥离每位开平方
- pow方函数
- 判断
代码
- 注意事项,博主自己犯的
- 统计个数写出%10(粗心)
- 一定要把值符给变量,不然改变的就是循环
- 判断我写成place。。。(梅开二度)
int main()
{int i = 0;for ( i = 0; i < 100000; i++){int count = i;//求的是i位的指数幂,但是直接改i会导致循环出问题int index = 1;//1位数的幂为1while (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
更多推荐
C语言进阶之旅 (每日一题)水仙花数
发布评论