水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
例如153=1*1*1+5*5*5+3*3*3循环。通过主函数调用该函数求100到999之间的全部水仙花数。
//实现水仙花的函数输出100到999之间的所有数
void SXH()
{
int i = 0, j = 0, k = 0;
//首先是百位不为零i从一开始
for (i = 1; i <= 9; i++)
{
//十位可以为零
for (j = 0; j <= 9; j++)
{
//各位也可以为零
for (k = 0; k <= 9; k++)
{
//得到了三个数,第一个数乘以100,第二个数乘以10,得到的数都相加可以得到100到999
//然后再用水仙花定义去判断,最后打印出来
if (i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k)
{
printf("%d ", 100 * i + j * 10 + k);
}
}
}
}
}
int main()
{
//在调用函数
SXH();
return 0;
}