k = int(0)
m = int(input("Введите M: "))
while m > 0:
if m % 10 % 2 == 0:
k += 1
m //= 10
print("Четных цифр = ", k)
Объяснение:
k = int(0) // Создание целочисленной переменной k и присвоение ей значения 0 (ноль)
m = int(input("Введите M: ")) // Ввод с клавиатуры целочисленной переменной m
while m > 0: // Пока значение переменной m > 0
if m % 10 % 2 == 0: // Если остаток от деления значения переменной m на 10 и на 2 = 0
k += 1 // К значению переменной k прибавляем 1 (единицу)
m //= 10 // Отделяем последнее число от значения переменной m путем целочисленного деления на 10
print("Четных цифр = ", k) // Вывод значения переменной k
5 3
+ 2 5
1 2 2
В младшем разряде 3+5 дают число, большее 5, а мы видим цифру 2, следовательно, получилось 12 и произошел перенос 1 в старший разряд, а 2 - это остаток. Но мы знаем, что 3+5 = 8, т.е. разница составила +4, тогда основание системы счисления на 4 меньше десяти, т.е. равно 6.
Проверим по старшему разряду.
5+2+1=8 (учли +1 переноса). Но это в десятичной системе, а в шестверичной на 4 больше, т.е. 12. Что мы и видим.
Вторая часть данных для решения не нужна. Совершенно.
ответ: шестеричная система счисления.