问题引入:
打印100至1000以内所有“水仙花数”
水仙花数:
是一个三位数,并且这个三位数的个位、十位、百位上的数字的立方之和等于这个三位数本身。
例如:仙花数:153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
#include<stdio.h>
int main()
{
int g,s,b,i;
for(i = 100;i < 1000;i++)
{
g = i % 10;//得到这个数的个位
s = i / 10 % 10;//得到这个数的十位
b = i / 100;//得到这个数的百位
if(g*g*g + s*s*s + b*b*b == i)
{
//打印水仙花数
printf("%d\n",i);
}
}
return 0;
}