Вопрос задан 11.01.2020 в 18:56. Предмет Информатика. Спрашивает Костенко Яна.

Ниже записан алгоритм. Получив на вход число х, этот алгоритм печатает два числа L и M. Укажите

наибольшее из таких чисел х, при вводе которых алгоритм печатает сначала 3, а потом 120. var х, L, M: integer; begin readln (x) ; L: = 0 ; M : = 1; while x>0 do begin L : = L + 1 ; M : = M*(x mod 8) ; х : = x div 8; end ; writeln(L); write(M); end.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Колесникова Анна.

Ответ: 428

нашел с помощь программы

 

var
  x, L, M, i:integer;
begin
  for i := 4096 downto 1 do
  begin
    L := 0;
    M := 1;
    x := i;
    
    while x > 0 do
    begin
      Inc(L);
      M := M *(x mod 8);
      x := x div 8;
    end;

    if (L = 3) and (M = 120) then
    begin
      WriteLn('x = ', i);
      break;
    end;
  end;
  readln;
end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Алгоритм, который вы предоставили, выглядит следующим образом:

``` var x, L, M: integer; begin readln(x); L := 0; M := 1; while x > 0 do begin L := L + 1; M := M * (x mod 8); x := x div 8; end; writeln(L); write(M); end. ```

Этот алгоритм принимает на вход число `x` и выводит два числа `L` и `M`. Чтобы найти значение `x`, при котором алгоритм сначала выводит `3`, а затем `120`, мы можем проанализировать его логику.

Алгоритм начинает с инициализации переменных `L` и `M` со значениями `0` и `1` соответственно. Затем он входит в цикл `while`, который выполняется, пока `x` больше `0`. Внутри цикла `L` увеличивается на `1`, а `M` умножается на остаток от деления `x` на `8`. Затем `x` делится на `8` с использованием оператора `div`. Цикл продолжается, пока `x` не станет меньше или равным `0`. После выхода из цикла алгоритм выводит значения `L` и `M`.

Чтобы найти значение `x`, при котором алгоритм сначала выводит `3`, а затем `120`, мы можем провести обратные вычисления.

1. Сначала алгоритм выводит `3`. Это означает, что переменная `L` равна `3`. 2. Затем алгоритм выводит `120`. Это означает, что переменная `M` равна `120`.

Мы можем использовать эти значения `L` и `M` для обратных вычислений и найти значение `x`. Давайте это сделаем:

1. Поскольку `L` равно `3`, мы знаем, что алгоритм выполнил цикл `while` три раза. 2. Значение `M` равно `120`, поэтому мы можем выразить это в виде уравнения: `M = 1 * (x mod 8) * (x div 8) * (x div 8) * (x div 8)`. 3. Разделим `M` на `1` и получим `x mod 8 * (x div 8) * (x div 8) * (x div 8) = 120`. 4. Поскольку `x mod 8` и `x div 8` - это целочисленные значения, мы можем переписать уравнение в следующем виде: `x mod 8 * (x div 8)^3 = 120`. 5. Мы знаем, что `x` - это целое число, поэтому мы можем перебрать возможные значения `x` и проверить, при каком значении уравнение выполняется.

Поскольку вам требуется наибольшее значение `x`, при котором алгоритм выводит `3` и `120`, мы можем начать перебор с наибольшего возможного значения `x`. В данном случае, мы можем начать с `x = 1000`.

Подставим `x = 1000` в уравнение: `1000 mod 8 * (1000 div 8)^3 = 120`. Проверим, выполняется ли это уравнение:

`1000 mod 8 = 0` `1000 div 8 = 125` `125^3 = 1953125`

`0 * 1953125 = 0`, что не равно `120`.

Теперь попробуем значение `x = 999`:

`999 mod 8 = 7` `999 div 8 = 124` `124^3 = 1920808`

`7 * 1920808 = 13445656`, что не равно `120`.

Продолжая перебирать значения `x`, мы можем найти значение, при котором уравнение выполняется и алгоритм выводит `3` и `120`. Однако, в данном случае, перебор значений `x` может занять много времени и ресурсов.

Поэтому, чтобы найти наибольшее значение `x`, при котором алгоритм выводит `3` и `120`, я рекомендую вам использовать другой подход, например, анализировать логику алгоритма и понять, какие значения `x` могут привести к таким результатам.

0 0

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

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

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