Паскаль/ 9 класс представьте данное число n в виде суммы двух кубов. входные данные программа получает на вход одно натуральное число n(n < = 1028). выходные данные программа должна вывести 2 целых неотрицательных числа, сумма кубов которых равна n. если это невозможно, выведите строку impossible.
Var
n,i,j,resi,resj,flag:integer;
begin
flag:=0;
i:=1;
readln(n);
while power(i,3)<n do
begin
j:=1;
while power(j,3)+power(i,3)<=n do
begin
if power(j,3)+power(i,3)=n then
begin
flag:=1;
resi:=i;
resj:=j;
break;
end;
inc(j);
end;
if flag=1 then break;
inc(i);
end;
if flag=1 then writeln(resi,' ',resj,' ',resj,' ',resi) else writeln('impossible');
end.
Пример ввода:
1008 //2^3+10^3
Пример вывода:
2 10 10 2
n,i,j:integer;
fexit:boolean;
begin
Read(n);
fexit:=false;
for i:=1 to 10 do begin
for j:=1 to 10 do
if i*i*i+j*j*j=n then begin fexit:=true; break end;
if fexit then break
end;
if fexit then Writeln(i,' ',j)
else Writeln('impossible')
end.
Пример выполнения
637
5 8