解题思路:
先建立一个for循环,因为水仙花数是三位数,所以我们的循环范围是[100,999],在循环中,将每个数分割成个位、十位、百位,然后计算出【个位的三次方+十位的三次方+百位的三次方】,将计算结果与该数本身对比,如果相等,那么这个数就是水仙花数。
注意事项:
三位数各位数的求法:
个位:直接对10取余;
十位:先对10取整,再对10取余;
百位:直接对100取整;
参考代码:
#include<stdio.h>
int main()
{
int a,b,c,n;
n=0;
for (n=100;n<100;n++)
{
a=n/100;
b=n/10%10;
c=n%10;
{
if(n==a*a*a+b*b*b+c*c*c)
printf("%d\n",n);
}
}
return 0;
}
0.0分
1 人评分