Предмет: Информатика,
автор: Koshechka565656
Пожалуйста,решите и объясните мне...!Очень срочно,будет самостоятельная по таким задачам.
Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 4.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=9;
while x > 5 do begin
L:= L + 1;
if M > (x mod 10) then M:= x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Ответы
Автор ответа:
0
Функция x mod 10 - это остаток от деления х на 10. 387 mod 10 = 7.
Функция x div 10 - это целочисленное деление x на 10. 387 div 10 = 38.
L увеличивается в цикле каждый раз на 1. Значит, было 3 цикла.
х каждый раз целочисленно делится на 10.
Цикл идет, пока x > 5. Значит, последний раз было x < 50.
M - это наименьший остаток от деления x на 10.
Если на выходе M = 4, значит остатки были: 9, 8, 7, 6, 5, 4.
Допустим, остатки были 9, 9, и 4, и последний раз было x = 49,
тогда на 2-ом цикле было x = 499, а на 1-ом x = 4994.
Проверяем:
1 цикл. M = 9, x = 4994, x mod 10 = 4994 mod 10 = 4
9 > 4 ? Да, значит M = 4. x = x div 10 = 4994 div 10 = 499
2 цикл. M = 4, x = 499, x mod 10 = 499 mod 10 = 9
4 > 9 ? Нет, значит М остается = 4. x div 10 = 499 div 10 = 49.
3 цикл. M = 4, x = 49, x mod 10 = 49 mod 10 = 9.
4 > 9 ? Нет, значит М остается = 4. x div 10 = 49 div 10 = 4
Условие цикла x > 5 не выполняется, выходим из цикла.
Функция x div 10 - это целочисленное деление x на 10. 387 div 10 = 38.
L увеличивается в цикле каждый раз на 1. Значит, было 3 цикла.
х каждый раз целочисленно делится на 10.
Цикл идет, пока x > 5. Значит, последний раз было x < 50.
M - это наименьший остаток от деления x на 10.
Если на выходе M = 4, значит остатки были: 9, 8, 7, 6, 5, 4.
Допустим, остатки были 9, 9, и 4, и последний раз было x = 49,
тогда на 2-ом цикле было x = 499, а на 1-ом x = 4994.
Проверяем:
1 цикл. M = 9, x = 4994, x mod 10 = 4994 mod 10 = 4
9 > 4 ? Да, значит M = 4. x = x div 10 = 4994 div 10 = 499
2 цикл. M = 4, x = 499, x mod 10 = 499 mod 10 = 9
4 > 9 ? Нет, значит М остается = 4. x div 10 = 499 div 10 = 49.
3 цикл. M = 4, x = 49, x mod 10 = 49 mod 10 = 9.
4 > 9 ? Нет, значит М остается = 4. x div 10 = 49 div 10 = 4
Условие цикла x > 5 не выполняется, выходим из цикла.
Похожие вопросы
Предмет: Русский язык,
автор: djimulj47
Предмет: Русский язык,
автор: adinaturlunbekova
Предмет: Окружающий мир,
автор: Аноним
Предмет: Физика,
автор: maxmol27
Предмет: Биология,
автор: ivanivanov1991