Задать вопрос
17 февраля, 12:53

Напишите как решать

Ниже на 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.

Алгоритм решения нужен

+4
Ответы (1)
  1. 17 февраля, 14:05
    0
    Алгоритм содержит ошибку: необъявленную переменную 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
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Напишите как решать Ниже на 5 языках программирования записан алгоритм. Получив на вход число х, этот алгоритм печатает число l. Укажите ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы