Предмет: Информатика, автор: Аноним

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

Приложения:

Ответы

Автор ответа: vladmor
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



Похожие вопросы
Предмет: Математика, автор: stesha110602