Форум сайта python.su
Сколько нулей на конце факториала N!
В этой задаче вам необходимо воспользоваться уже готовой функцией factorial, которая принимает неотрицательное число, и возвращает значение факториала данного числа.
Ваша задача создать функцию trailing_zeros, которая принимает неотрицательное число, находит его факториал и возвращает сколько нулей на конце этого факториала .
trailing_zeros(6) => 1, потому что 6! = 1 * 2 * 3 * 4 * 5 * 6 = 720
trailing_zeros(10) => 2, потому что 10! = 3 628 800
trailing_zeros(20) => 4, потому что 20! = 2 432 902 008 176 640 000
почему здесь for num in range(2, n + 1): начинают с 2? 2.n+1?
Офлайн
Ну плюс мину как то так наверное
import math def trailing_zeros(n): # Вычисляем факториал числа N с использованием math.factorial factorial_result = math.factorial(n) # Количество нулей на конце факториала count = 0 # Пока последняя цифра факториала равна 0, увеличиваем count while factorial_result % 10 == 0: count += 1 factorial_result //= 10 return count # Примеры использования print(trailing_zeros(6)) # Вывод: 1 print(trailing_zeros(10)) # Вывод: 2 print(trailing_zeros(20)) # Вывод: 4
Офлайн