问题:水仙花数是一个三位数,三位数各位的立方之和等于三位数本身.
对于水仙花数的判断,需要按照以下步骤:
1 提取该数的个位,十位,百位值。
2 计算三个数的立方和。
3 与原值比较,如相等则是。
要输出所有水仙花数,需要:
1 对所有三位数,即100到999遍历;
2 对每个数判断是否为水仙花数,如是则退出。
当循环结束,所有的水仙花数就输出成功了。
代码如下:
计算的水仙花数有四个:153 370 371 407 1
代码1:
#include <stdio.h> int main() {int i , a , b , c;for(i=100;i<1000;i++){a = i/100;b = (i - a*100)/10;c = i%10;if(i==a*a*a+b*b*b+c*c*c)printf("水仙花数有:%d n",i);} } 123456789101112
运行结果:
水仙花数有:153 水仙花数有:370 水仙花数有:371 水仙花数有:407 1234
如果各位大佬还有什么好的方法可以在评论区留言哦,大家一起学习交流!