Напишите как решать ниже на 5 языках программирования записан алгоритм. получив на вход число х, этот алгоритм печатает число l. укажите наибольшее нечетное число х, при вводе которого алгоритм печатает 102. var x,l,m: integer; begin readln(x); d: =x; l: =30; m: =456; while l< =m do begin l: =l+d; m: =m-5*d; end; writeln(l); end. алгоритм решения нужен

FlexxZ000 FlexxZ000    2   19.09.2019 06:50    2

Ответы
ZzzGoshAzzZ ZzzGoshAzzZ  21.08.2020 11:50
Алгоритм содержит ошибку: необъявленную переменную d. Фактически она вообще не нужна, потому что d=x и не меняется.
Выводится значение l, которое вычисляется по формуле l=30+kx, где k - количество выполнений тела цикла while.
Получаем уравнение 30 + k·x = 102 → k·x = 72.
Но 72 = 2 × 2 × 2 × 3 × 3 если значение х нечетное, то оно может быть или 3, или 3 × 3 = 9.
В вопросе спрашивается о максимальном х, поэтому проверим, подходит ли х=9.
В этом случае k = 72 / 9 = 8
Значение k определяется условием выполнения цикла l ≤ m,
где m = 456 - 5·x·k.
При k= 8 получаем 102 ≤ 456 - 5×8×9; 102 ≤ 96 - ложно,
но еще при k=7 получаем 30+7×9 ≤ 456-5×7×9; 93 ≤ 141 истинно.

Следовательно, x=9 подходит.

ответ: 9
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика