<谭> 6.6
打印出所有的"水仙花数", 所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如, 153就是一水仙花数,因为153 = 13+53+33 。
#include <stdio.h>
int main()
{
int i, j, k; /* 分别表示百位,十位,个位 */
int n;
for (n = 100; n < 1000; n++)
{
i = n / 100;
j = n / 10 - i * 10;
k = n - i * 100 - j * 10;
if (i*i*i + j*j*j + k*k*k == n)
printf("%d ", n);
}
return 0;
}
运行结果:
======================
153 370 371 407
======================
######################################改进########################################
经网友指点,查了一下math.h中的pow函数
double pow(double a, double b) 即求 a 的 b 次方
修改如下:
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, k;
int n;
for (n = 100; n < 1000; n++)
{
i = n / 100;
j = n / 10 - i * 10;
k = n - i * 100 - j * 10;
if (pow(i, 3) + pow(j, 3) + pow(k, 3) == n)
printf("%d ", n);
}
return 0;
}
运行结果:
======================
153 370 371 407
======================
正文
[035] 水仙花数2006-03-12 19:46:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/wentao/10941.html
阅读(9198) | 评论(10)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论