水仙花数是指其个位、十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数
其中水仙花数:
即分别取出该数的个位,十位 ,百位立方相加等于该数即可。这里以i=153为例:
i%10 153%10=3 这里即表示取出个位的数
i/10%10 153/10%10=5 这里即表示取出十位的数
i/10/10%10 153/10/10%10=1 这里即表示取出百位的数
#include<stdio.h>
#include<math.h>//导入头文件,内含pow( ,)表示多少次方
int main(){
int g,s,b; //分别表示个位,十位,百位
int sum;
for (int i = 100; i <1000; i++)
{
b=i/10/10%10;
s=i/10%10;
g=i%10;
sum=pow(g,3)+pow(s,3)+pow(b,3); //也可以g*g*g来实现
if (sum==i)
printf("%d ",i);
}
return 0;
}
运行结果: