Регистрация
Войти
Стать экспертом Правила
Информатика

ПОМОГИИИИИИТЕЕЕЕЕНиже записана программа. Получив на вход число , эта программа печатает два числа, L и M .Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0.var x, L, M: integer;beginreadln(x);L:=0; M:=0;while x > 0 do beginL:= L + 1;if x mod 2 = 0 thenM:= M + x mod 10;x:= x div 10;end;writeln(L); write(M);end

ОТВЕТЫ
Оператор div отрезает последнюю цифру числа, а mod считает остаток от деления на 2. Если он равен нулю, то выполняется действие M:= M + x mod 10.
Сначала выводится переменная L, в ней содержится счетчик, который считает, сколько раз оператор div отрежет цифру. Отсюда следует, что число должно быть трехзначным. В нашем случае ом будет число 999, потому что div отрежет последнюю цифру три раза, а условие if x mod 2 = 0 then не будет выполнятся, потому что  остаток от деления на 2 числа 999 не равен нулю, программа выведет 0.
753
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам