Найти наименьшее натуральное число n, представимое двумя различными
способами в виде суммы кубов двух натуральных чисел х3 + у3 (х >= у)
код на паскале:
const
eps = 0.00001;
var
x, y, n, x1, y1: longint;
tmp: real;
begin
x := 0;
while true do
begin
inc(x);
y := 0;
while (y < x) do
begin
inc(y);
n := x * x * x + y * y * y;
x1 := x;
y1 := y;
while x1 > 1 do
begin
dec(x1);
tmp := exp(ln(n - x1 * x1 * x1) / 3);
if trunc(tmp) > x1 then
break;
if (Frac(tmp) < eps) or (1 - Frac(tmp) < eps) then
begin
y1 := round(tmp);
writeln(x, ' ', y, ' ', x1, ' ', y1);
readln;
end;
end;
end;
end;
end.
Но я не уверен в правильности, а так же нужно написать на c++, с чем у меня и возникли проблемы(