Найти - Пользователи
Полная версия: for range
Начало » Python для новичков » for range
1
Darina_Zingashina
Сколько нулей на конце факториала 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?
ZerG
Ну плюс мину как то так наверное
 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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB