在求解水仙花数之前,我们首先要了解水仙花的计算方法。
水仙花数=百位的三次方+十位的三次方+个位的三次方=原来的三位数。
解题过程:
1、首先将原数的百位、十位、个位的值分别求出来。
求解三个位数的值需要用到C语言程序中的整除'/'和取余'%'符号来进行操作。其主要原理为:
3/2:向下取整,打印的是整数。
3%2:打印的是余数,且%只能用于整数运算。
2、将三个位的数值求出来后,便根据水仙花数的特点来列出判断式子,检查原数是否为水仙花数,如果是则将其打印出来,如果不是则就继续向下执行。(该处需要结合循环的相关知识)
#include <stdio.h>
int main(int argc, char const *argv[])
{
int i;
int a,b,c;
for(i=100;i<1000;i++)
{
a=i/100; //获得百位的数值
b=i%100/10; //获得十位的数值
c=i%10; //获得个位的数值
if(a*a*a+b*b*b+c*c*c==i)//判断是否是水仙花数
{
printf("%d\n",i);
}
}
return 0;
}