一个C语言方面的问题~求大家帮忙解决

来源:百度知道 编辑:UC知道 时间:2024/04/30 10:30:36
题目1:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

如何做

int i,a,b,c
for(i=100; i<=999; i++)
{
a = i/100; /*百位数*/
b = i/10%10 /*十位数*/
c = i%10 /*个位数*/
if( i==(a*a*a+b*b*b+c*c*c) )
printf("%d\n",i);
}

class test
{
public static void main(String []args)
{
int a,b,c,i;
for(i=100;i<=999;i++)
{
a=i/100;
b=(i%100) /10 ;
c=i%10;
if (a*a*a+b*b*b+c*c*c==i) System.out.println(i);
}
}
}

#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

#include <stdio.h>
void main()
{int i,j,k,n;
printf("narcissus numbers are ");