问题:水仙花数是一个三位数,三位数各位的立方之和等于三位数本身.
对于水仙花数的判断,需要按照以下步骤:
1 提取该数的个位,十位,百位值。
2 计算三个数的立方和。
3 与原值比较,如相等则是。
要输出所有水仙花数,需要:
1 对所有三位数,即100到999遍历;
2 对每个数判断是否为水仙花数,如是则退出。
当循环结束,所有的水仙花数就输出成功了。
代码如下:
计算的水仙花数有四个:153 370 371 407
代码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);
}
}
运行结果:
水仙花数有:153
水仙花数有:370
水仙花数有:371
水仙花数有:407
如果各位大佬还有什么好的方法可以在评论区留言哦,大家一起学习交流!
更多推荐
C语言:水仙花数简单实现
发布评论