中晋股权投资基金:麻烦帮忙编写下列程序!!!

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 15:26:57
如果一个3位数等于它每1位数的立方和,则称此数为“水仙花数”。求所有水仙花数。
不好意思 是用c语言

main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}

#include<stdio.h>
void main()
{
int i,k,a[3],tem;
for(i=100;i<1000;i++)
{
tem=i;
k=0;
while(tem)
{
//getchar();printf("%d",i);
a[k++]=tem%10;
tem/=10;
}
if(i==(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]))printf("%5d\n",i);
}
}

用c++ :
#include<iostream.h>
void main()
{
int i,j,k,x,sum;
for(i=0;i<=9;i++)
for(j=0;j<=9;j++)
for(k=1;k<=9;k++)
{
sum = i*i*i+j*j*j+k*k*k;
x = k*100+j*10+i;
if(sum==x)
{
cout<<"水仙花数:"<<x<<endl;
}
}

}

代码如下:
#include<stdio.h>
int pow(int base,int n) /*算base的n次方的函数*/
{
int k;
int sum=1;
for(k=0;k<n;k++)
sum=sum*base;
return sum;
}
main()
{
int i;
for(i=100;i<1000;i++)
if(pow(i/100,3)+pow((i%100)/10,3)+pow(i%10,3)==i)
printf("%-4d",i);
printf("\n");
return 0;
}
经过运行正确