Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 14, 2024 11:18:50

Darina_Zingashina
Зарегистрирован: 2024-01-14
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

for range

Сколько нулей на конце факториала 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?

Офлайн

#2 Янв. 14, 2024 11:35:35

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2604
Репутация: +  62  -
Профиль   Отправить e-mail  

for range

Ну плюс мину как то так наверное

 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



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version