Не понимаю логику деления с остатком (пример простого кода внутри)
Прошу помощи разобраться с простым примером: предположим, пользователь ввел число 1928; в первом случае деления к переменной max1 присвоится число 8, а далее какие числа?
Задание: Пользователь вводит целое положительное число. Найдите самую большую цифру в числе. Для решения используйте цикл while и арифметические операции.
n = int(input("Введите целое положительное число "))
max1 = n % 10
print(max1)
while n >= 1:
n = n // 10
print(n)
if n % 10 > max1:
print(n)
print(max1)
max1 = n % 10
print(max1)
elif n > 9:
pass
print("Максимальное цифра в числе ", max1)
Ответы (1 шт):
Автор решения: mazzz3r
→ Ссылка
n // 10 - целочисленное деление
n % 10 - остаток от целочисленного деления
- Изначально присваиваем самой большой цифре цифру 8 -
n%10 = 8 - Дальше мы нацело делим наше число n на 10, получаем
n = 192 - Снова ищем остаток от 10, он будет равен 2 -
n%10 = 192%10 = 2 - В следующей итерации 192 нацело делим на 10 получаем
n = 19 - Ищем остаток от деления на 10, получаем 9 -
n%10 = 19%10 = 9 - Делим 19 на цело на 10, получаем 1, ищем остаток от деления на 10, получаем 1 -
n % 10 = 1 % 10 = 1Таким образом, код перебрал все цифры в числе с помощью целочисленного деления и деления с остатком на 10 и вывел 9