题目:输出200内的 b^3 + c^3 + d^3 = a^3 的所有结果(a主递增,b次递增)。
分析:暴力。三层循环计算即可,第四个数直接利用开3次方求解,判断是不是3次方根。
注意:a,b,c,d > 1。
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int count = 0;
for ( int a = 6 ; a <= 200 ; ++ a )
for ( int b = 2 ; b < a ; ++ b )
for ( int c = b+1 ; c < a ; ++ c ) {
int d = a*a*a - b*b*b - c*c*c;
if ( c*c*c > d ) continue;
int r = (int)pow(d+0.1, 1.0/3);
if ( r*r*r == d )
printf("Cube = %d, Triple = (%d,%d,%d)\n",a,b,c,r);
}
return 0;
}