1、水仙花数的含义:
“水仙花数”是一个三位数其各位数字的立方和等于该数本身 。例如:3^3+7^3+0^3=370
2、算法分析:
把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等 , 则为“水仙花数” 。
3、算法设计:
“水仙花数”是一个三位数 , 可以确定该数的取值范围是 100-999 。对应的循环条件如下:
for (n=10; n<1000; n++) {}
【c语言水仙花数 什么是水仙花数】将n整除以100,得出n在百位上的数字h 。
将(n-i*100)整除以10, 得出n在十位上的数字t 。
将n对10取余,得出n在个位上的数字a 。
求得h,t,a 三个数字的立方和是否与n相等,如果相等则证明该数为水仙花数 。
4、代码实现:
#include
int main() {
int h, t, a, n;
printf(result is:);
for ( n=100; n<1000; n++ ) { /*整数的取值范围*/
h = n / 100;
t = (n-h*100) / 10;
a = n % 10;
if (n == h*h*h + t*t*t + a*a*a) /*各位上的立方和是否与原数n相等*/
printf(%d , n);}
printf(\n);
return 0;}