打印出所有的"水仙花数",所谓的"水仙花数"是指一个三位数,其各位数立方和等于该数。
例如:153是一个"水仙花数",是因为153=1的三次方+5的三次方+3的三次方
方法一:
#include<stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数是:");
for(n=100;n<1000;n++)//100~~1000范围内的水仙花数
{
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");
return 0;
}
方法二:
#include<stdio.h>
int main(int argc,const char *argv[])
{
for(int i=1;i<10;i++)
{
for(int j=0;j<10;j++)
{
for(int k=0;k<10;k++)
{
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("%d\t",i*100+j*10+k);
}
}
}
return 0;
}