题目:
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和
等于该数本身。例如:153 是一个“水仙花数”,因为 153=1 的三次方+5 的三次方+3 的三
次方。
解题思路:
可以使用pow()函数计算出水仙花数的值,再遍历所有的三位数,将其与水仙花数进行比较,如果数值相等,该三位数即为水仙花数,则输出该三位数
参考代码:
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main(){
//定义一个三位数的百位,十位和个位
int x,y,z;
//遍历所有的三位数
for(x=1;x<10;x++){
for(y=0;y<10;y++){
for(z=0;z<10;z++){
//定义这个三位数为num
int num=100*x+10*y+z;
//定义水仙花数
int i=pow(x,3)+pow(y,3)+pow(z,3);
//如果三位数与水仙花数相同则输出
if(num==i){
printf("%d\n",num);
}
}
}
}
return 0;
}
输出结果:

1317

被折叠的 条评论
为什么被折叠?



