умник1308
14.04.2021 19:36

)желательно подробно. ниже записан алгоритм. получив на ход число x этот алгоритм , запишет две буквы m,l. напишите число “x” при котором алгоритм с начало напишет число 2, а потом 8 . dim x, l, m as integer input x l=0: m=0 while x> 0 l=l+1 if m< (x mod 10) then m=x mod 10 end if x=x\10 wend print l, m в паскале: var x, l, m: integer; begin readln(x); l: =0; m: =0; while x > 0 do begin l: =l+1; if m < (x mod 10) then begin m: =x mod 10; end; x: = x div 10; end; writeln(l); write(m); end.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
gigov1610sp
08.07.2020 07:39
Смотрим на предназначение переменных L и M:
L - счетчик того, сколько раз выполняется условие цикла (while  x > 0). Т.к. в конце программы L становится равным 2, значит условие цикла (while  x > 0) выполняется 2 раза.
M, судя по условию (if M < x mod 10) - максимальная цифра числа x, т.к. x mod 10 - это остаток от деления числа x на десять.
В конце цикла while x приравнивается x div 10; кроме того, после 2 проходов цикла, x стало равным 0. Это дает нам право считать, что начальное число x было двузначным.
Т.к. в конце программы M становится равным 8, значит максимальная цифра в числе x - это 8.
Значит изначально число x могло быть равно:
18
28
38
48
58
68
78
80
81
82
83
84
85
86
87
88
Т.к. требуется наибольшее, то выбираем 88.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота