第1个回答 2011-09-01
int n,m,i,t=0;
for(n=9;n>0;n--)
{
for(m=9;m>=0;m--)
{
t= 1099-pow(n,3)-pow(m,3);
if(t>=0&&t<=729/*pow(9,3)*/)
{
for(i=0;i<=9;i++)
{
if(pow(i,3)== t)
printf("%4d",n*100+m*10+i);
}
}
else if(t>729)
{
break ;
}
else
{ }
}
}
也可以计算出每一位的数字的可能组合,再判断其是否相等或者有两个相等的情况(有时还要考虑0的情况),以此输出这个三位数。自己可以试验一下。