描述
形如a3= b3 + c3 + d3的等式被称为完美立方等式。例如123= 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中a,b,c,d 大于 1, 小于等于N,且b<=c<=d。
#include <bits/stdc++.h>
using namespace std;
bool u[1000010];
int g[110],p[1000010];
int main(){
int n,t;cin>>n;
for(int i=1;i<=n;i++){
t=i*i*i;
g[i]=t;
u[t]=1;
p[t]=i;
}
for(int i=2;i<=n;i++)
for(int j=2;j<i;j++)
for(int k=j;k<i;k++){
t=g[i]-g[j]-g[k];
if(t<0)break;
if(u[t] && p[t]>=k)
printf("Cube = %d, Triple = (%d,%d,%d)\n",i,j,k,p[t]);
}
return 0;
}