Задача первая........

0 голосов
25 просмотров

Задача первая........


image

Информатика | 25 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

1. Ограничим область поиска. Заметим, что при Х = 256 получим L = 3, а при Х = 512 L=4. Значит будем искать в этом диапазоне начиная с 512 до 256 (так как нам надо найти наибольшее число X при котором L = 3, M = 120).
2. В представленной ниже программе обеспечен досрочный выход из цикла, когда число X найдено.

var
  i, x, L, M: integer;

begin
  for i := 512 downto 256 do
  begin
    x := i;
    L := 0;M := 1;
    while x > 0 do
    begin
      L := L + 1;
      M := M * (x mod 8);
      x := x div 8;   
    end;
    if (L = 3) and (M = 120) then break;
  end;
  writeln(' X = ',i,' L = ',L,' M = ',M);
end.

Результат работы программы:
 X = 428 L = 3 M = 120



(13.9k баллов)
0 голосов

Наибольшее число х, при котором L=3, а M=120 это х=428

(3.4k баллов)