Паскаль/ 9 класс представьте данное число n в виде суммы двух кубов. входные данные программа получает на вход одно натуральное число n(n < = 1028). выходные данные программа должна вывести 2 целых неотрицательных числа, сумма кубов которых равна n. если это невозможно, выведите строку impossible.

Mondy228 Mondy228    1   06.08.2019 17:20    2

Ответы
glamur9068 glamur9068  04.10.2020 01:31
//PascalABC.NET 3.2 сборка 1318

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
ПОКАЗАТЬ ОТВЕТЫ
Bbqqall Bbqqall  04.10.2020 01:31
Var
  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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика