“水仙花数”是指一个三位数,它的各位数的立方和正好等于该数本身,如:153=1^3+3^3+5^3.请设计算法找一个100以内的“水仙花数”.
问题描述:
“水仙花数”是指一个三位数,它的各位数的立方和正好等于该数本身,如:153=1^3+3^3+5^3.请设计算法找一个100以内的“水仙花数”.
答
哈哈,只有先把各位分解。就是例如153,把百位,十位,个位分解,分解就得循环啦。然后在再次循环把每位按1^3+3^3+5^3就可以了。最后当然是判断最后的数是否相等啦。关键是分解各个数位啦。
答
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;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");
}