挺无聊的一道题,注意输出顺序就行,不过刚开始真的没看懂题。
#include<stdio.h>
int main()
{
int n,a,b,c,d;
int cube[110];
scanf("%d",&n);
for (int i=1;i<=n;i++)
cube[i]=i*i*i;
for (a=6;a<=n;a++)
for (b=2;b<a-1;b++)
{
if (cube[a]<cube[b]+cube[b+1]+cube[b+2])
break;
for (c=b+1;c<a;c++)
{
if (cube[a]<cube[b]+cube[c]+cube[c+1])
break;
for (d=c+1;d<a;d++)
if (cube[a]==cube[b]+cube[c]+cube[d])
printf("Cube = %d, Triple = (%d,%d,%d)\n",a,b,c,d);
}
}
return 0;
}