http://poj.org/problem?id=1543
分析题意,挖取关键信息:
(1). b^3 + c^3 + d^3 = a^3
(2). integers greater than 1,即a,b,c,d均大于1
(3). b,c,d非降序
所以对于某个确定的N,有:1<a<=N
对于某个确定的a,有:1<b<a
对于某个确定的b,有:b<=c<a
对于某个确定的c,有:c<=d<a
简单枚举写法:
#include <stdio.h>
int main()
{
int n,a,b,c,d;
scanf("%d",&n);
for(a=2;a<=n;a++)
for(b=2;b<a;b++)
for(c=b;c<a;c++)
for(d=c;d<a;d++)
if((b*b*b+c*c*c+d*d*d)==a*a*a)
printf("Cube = %d, Triple = (%d,%d,%d)\n",a,b,c,d);
return 0;
}