Вопрос задан 27.07.2018 в 17:02. Предмет Информатика. Спрашивает Разуваев Влад.

ПАСКАЛЬ/ 9 КЛАСС Представьте данное число n в виде суммы двух кубов. Входные данные Программа

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ким Альбина.
//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
0 0
Отвечает Фрольцов Ваня.
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
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача

Вам необходимо представить данное число `n` в виде суммы двух кубов. Если такое представление невозможно, то нужно вывести строку "impossible".

Входные данные

Программа получает на вход одно натуральное число `n` (n <= 1028).

Выходные данные

Программа должна вывести 2 целых неотрицательных числа, сумма кубов которых равна `n`. Если такое представление невозможно, то нужно вывести строку "impossible".

---

Решение

Для решения этой задачи мы можем перебрать все возможные пары целых чисел (a, b), где a и b могут быть равными нулю или положительными числами, и проверять, равна ли сумма кубов a^3 + b^3 заданному числу n.

Для реализации алгоритма нам потребуется использовать два цикла: один для перебора всех возможных значений a, и второй для перебора всех возможных значений b. Внутри второго цикла мы будем проверять, равна ли сумма кубов a^3 + b^3 заданному числу n.

Вот пример реализации данного алгоритма на языке Pascal:

```pascal program SumOfCubes; var n, a, b: integer; found: boolean; begin found := False; readln(n);

for a := 0 to Trunc(Power(n, 1/3)) do begin for b := 0 to Trunc(Power(n, 1/3)) do begin if (Power(a, 3) + Power(b, 3)) = n then begin writeln(a, ' ', b); found := True; break; end; end; if found then break; end;

if not found then writeln('impossible'); end. ```

Эта программа будет перебирать все возможные значения a и b до корня третьей степени из числа n и проверять, равна ли их сумма кубам числа n. Если такая пара найдена, то она будет выведена на экран. Если ни одна пара не найдена, будет выведена строка "impossible".

Надеюсь

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос