2015重庆高考数学答案:求助:关于C语言的"水仙花数"!

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 02:06:56
输出所有的"水仙花数"。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。

请高手们编一个程序!谢谢!
这个"水仙花数"为100到999的数!是所有三位数的数!

#include <stdio.h>

int main(void)
{
int i,j,k;
for(i=1;i<10;i++)
{
for(j=0;j<10;j++)
{
for(k=0;k<10;k++)
{
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
{
printf("%d%d%d ",i,j,k);
}
}
}
}
return 0;
}

运行结果为:
153 370 371 407

你要什么样的?随便吗?

我忘记怎么用C了,,,,
切切切,,,
用三个循环,一个一个的试,
判断是:i*100+J+10+s=i^3+J^3+S^3

最简单的方法,虽然不是个聪明的方法,但是对就可以啦!
#include"stdio.h"
main()
{ int x;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
printf("%-5d",i*100+j*10+k);
getch();
}

#include <stdio.h>
main()
{
int i,a,b,c;
for (i=101;i<=999;i++)
{a=i/100;
b=i/10-a*10;
c=i%10;
if (i=a*a*a+b*b*b+c*c*c)
printf ("%d ",i);
}
printf ("\n");
}