什么是水仙花数?
水仙花数是指3位数的各个位数的3次幂之和等于其本身
例如:153=1的3次幂+5的3次幂+3的3次幂
代码思路
那么根据水仙花数的特性我们首先锁定数的范围:100--999
接着我们定义3个变量,分别对应其个位,十位,百位:end,middle,head
之后我们需要将各个位数取出来
比如取百位的数我们需要将该数除以100,这样得到的数取整就是百位
十位数我们可以用刚刚取整的数乘以100得到一个新的数,再用该数减掉新的数,最后除以10然后取整
个位数我们可以用取余的方法,取余10得到的余数就是个位
最后的阶段就是判断,判断各个位数的三次幂是否等于其本身,如果等于就是水仙花数
#include<stdio.h>
int main()
{
int head = 0;
int middle = 0;
int end = 0;
int i;
for (i = 100; i < 1000; i++)
{
head = i / 100;
middle = (i - (head * 100))/10;
end = i % 10;
head = head * head * head;
middle = middle * middle * middle;
end = end * end * end;
if (i == head + middle + end)
{
printf("水仙花数:%d\n", i);
}
}
return 0;
}