C语言作业,求所有的水仙花数

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:41:11
若一个3位整数的各位数字的立方之和等于这个整数,称之为“水仙花数”。例如:153是水仙花数,因为153=13+53+33 求所有的水仙花数。
例子Ctrl+C,V 出错 153=1^3+5^3+3^3

楼主的例子好像不对吧,各个位的立方和不是你举例子那样。
#include <stdio.h>
#include <stdlib.h>
main()
{
int i,j,k;
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("%d",i*100+j*10+k);
}
system("pause");
return 0;
}
多谢liuyu_107,百位应该是可以等于9的,十位个位为9的情况不存在。

同意楼上的计算思想,不过其中的3个for循环条件判断,是不是应该为
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)

条件判断中的"=9"应该可以吧,个人感觉了,如果有不妥之处,请加以斧正,谢谢!

#include<stdio.h>
void main()
{
int a,b,c,t=100;
while(t<=999)
{
a=t/100;
b=(t-100*a)/10;
c=(t-100*a-10*b)/1;
if(t==a*a*a+b*b*b+c*c*c)
printf("%d,",t);
t=t+1;
}
}
都是很简单的逻辑,很容易就看懂了