如何用C语言编写程序打印出水仙花数?

来源:百度知道 编辑:UC知道 时间:2024/09/24 22:53:07
打印出所有的水仙花数,水仙花数即形如153=1的立方+5的立方+3的立方的数。打的不好,请不是见怪。谢谢!

其实不用这样麻烦地去分解每一位,在不要求性能的情况下,直接打印出来就行了噻。

#include <stdio.h>

int main(void)
{
int i,j,k;

for (i=1;i<=9;i++)
{
for (j=0;j<=9;j++)
{
for (k=0;k<=9;k++)
{
if (100*i + 10*j + k == i*i*i +j*j*j + k*k*k)
{
printf("%d%d%d\n",i,j,k);
}

}
}
}
return 0;
}

结果是:
153
370
371
407

Process returned 0 (0x0) execution time : 0.125 s
Press any key to continue.

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程序源代码:
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=