profile
Размещено 4 года назад по предмету Информатика от BlackHole3003

напишите программу которая будет вычислять факториал 100000 выводить его и то сколько нулей в конце этого факториала, программа должна выполняться быстрее чем за 90 секунд

  1. Ответ на вопрос
    Ответ на вопрос дан HP2020

    100000! содержит "всего" 456574 цифр, так что по крайней мере имеет смысл попытаться начать решать задачу.

    Вот наивный алгоритм, который вычисляет факториал по определению (n! = 1 * 2 * 3 * ... * n):

    Код (Python 3):

    prod = 1

    for i in range(1, 100000 + 1):

       prod *= i

    Количество нулей в конце в числе prod можно найти, например, так (результат находится в переменной count):

    Код (Python 3):

    count = 0

    while prod % 10 == 0:

       count += 1

       prod //= 10

    Наконец, проверим, сколько времени считался результат. Импортируем из модуля time функцию perf_counter, запустим её в начале программы и в конце. Разность результатов - время работы программы в секундах.

    Итого получаем такую программу:

    Код (Python 3):

    from time import perf_counter

    start = perf_counter()

    prod = 1

    for i in range(1, 100000 + 1):

       prod *= i

    print(prod)

    count = 0

    while prod % 10 == 0:

       count += 1

       prod //= 10

    print(count)

    end = perf_counter()

    print(end - start)

    Вывод полностью приводить не буду, скажу только, что вычисление на моём компьютере заняло меньше 15 секунд.

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.