перевод в систему счисления и подсчёт нулей

Как, не переводя число в определенную систему счисления, посчитать сколько получиться нулей на конце числа при переводе?
например:

ввод
5 2
вывод
0

при переводе 5 во 2 систему счисления

вот еще пример

ввод
10 2
вывод
1

при переводе 10 в 2 систему счисления получается 1010: на конце 1 ноль


Ответы (1 шт):

Автор решения: Oopss
def convert_to(number, base):
    digits = '0123456789abcdefghijklmnopqrstuvwxyz'
    if base > len(digits): return None
    result = ''
    while number > 0:
        result = digits[number % base] + result
        number //= base
    return result


n, sysch = [int(i) for i in input('Через пробел введите: число основание ').split()]
col0 = 0
print(f'Число выглдит в {sysch}-ичной системе счисления {convert_to(n,sysch)}')
while (n % sysch) == 0:
    col0 += 1
    n //= sysch
print(col0)

Через пробел введите: число основание 5 2
Число выглядит в 2-ичной системе счисления 101
Количество нулей 0

Через пробел введите: число основание 10 2
Число выглядит в 2-ичной системе счисления 1010
Количество нулей 1

Через пробел введите: число основание 45678940 20
Число выглядит в 20-ичной системе счисления e59h70
Количество нулей 1
→ Ссылка