#include
#include
void main()
{
int n1,n2,n3,n;
printf("所得的数为:\n");
for(n=100;n<1000;n++)
{
n1=n%10;
n2=(n/10)%10;
n3=n/100;
if(pow(n1,3)+pow(n2,3)+pow(n3,3)==1099)
printf("%d ",n);
}
}
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的情况),以此输出这个三位数。自己可以试验一下。