44 / 0 / 0
Регистрация: 25.01.2021
Сообщений: 75

Работа с большими числами

28.02.2021, 12:30. Показов 8232. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, как в python можно работать с большими числами? Какие библиотеки нужно подключить?
Пытаюсь, посчитать
A! * B! * C!, где А = 1111111679167, В = 3333333336789, С = 444444444567
Но получаю переполнение
Python
1
2
3
4
5
from math import factorial
A = 1111111679167
B = 3333333336789
C = 444444444567
print(factorial(A) * factorial(B) * factorial(C))
OverflowError: factorial() argument should not exceed 2147483647
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2021, 12:30
Ответы с готовыми решениями:

Операции с очень большими числами
В Лисп можно складывать примерно такие числа. 325436236476245743254336345647456345453146356574743452346156 ...

Библиотеки для работы с большими числами
Доброй ночи! Какие вы могли бы порекомендовать библиотеки для работы с большими числами в языке Python?

Почему программа не работает с большими числами?
maximum = 2**31 count = 0 for a in range(1, maximum): for b in range(1, maximum): for c in range(1, maximum): ...

7
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
28.02.2021, 12:35
Попробуйте использовать собственную функцию вычисления факториала, а не из модуля math.
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
28.02.2021, 12:42
Swap417, попробуйте. работает или нет сказать не могу. комп уже 3 минуты вычисляет. может у вас быстрей пойдет
Python
1
2
3
4
5
6
7
8
9
10
def fac(n):
    factorial = 1
    for i in range(2, n+1):
        factorial *= i
    return factorial
 
A = 1111111679167
B = 3333333336789
C = 444444444567
print(fac(A) * fac(B) * fac(C))
0
44 / 0 / 0
Регистрация: 25.01.2021
Сообщений: 75
28.02.2021, 12:57  [ТС]
ioprst, Не слишком медленно выйдет?

Добавлено через 15 минут
Semen-Semenich, она у меня до сих пор вычисляет...
0
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406
28.02.2021, 13:05
Swap417, так у вас числа огромные.... 1 триллион факториал

Добавлено через 2 минуты
Swap417, вот этот код довольно быстро работает

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def range_prod(lo, hi):
    if lo+1 < hi:
        mid = (hi+lo)//2
        return range_prod(lo, mid) * range_prod(mid+1, hi)
    if lo == hi:
        return lo
    return lo*hi
 
 
def treefactorial(n):
    if n < 2:
        return 1
    return range_prod(1, n)
 
 
print(treefactorial(int(input())))
https://coderoad.ru/16325988/%... %B2-python
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
28.02.2021, 13:12
delete
0
Простота-залог надежности
22 / 13 / 10
Регистрация: 15.09.2019
Сообщений: 193
28.02.2021, 13:14
Welemir1, Лично у меня этот код убрал ошибку глубины рекурсии

Python
1
2
import sys
sys.setrecursionlimit(10 ** 6)
0
63 / 52 / 11
Регистрация: 14.01.2021
Сообщений: 406
28.02.2021, 13:26
Число 1111111679167! имеет 12 901 632 407 845 цифр в записи, то есть почти 13 триллионов, то есть 12,901632407845 терабайтов.
Число 3333333336789! имеет 40 295 280 921 206 цифр в записи, то есть 40 триллионов, то есть 40,295280921206 терабайтов.
Число 444444444567! имеет 4 983 788 001 428 цифр в записи, то есть 4 триллиона, то есть 4,983788001428 терабайтов
Если все эти числа перемножить, то получится число с гораздо большим количеством чисел.

Это просто невообразимо огромные числа, вам просто не хватит памяти

Добавлено через 31 секунду
количество чисел измерял этим способом:

Python
1
2
from math import *
print(ceil(lgamma(444444444567+1)/log(10)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2021, 13:26
Помогаю со студенческими работами здесь

От совсем новичка:почему программа выдает неправильный ответ при тестах с большими числами
Я новичок. Совсем новичок. Помогите разобраться с проблемой. Есть задача: Мэрия города М-ска приняла решение провести реновацию домов на...

Погрешность при работе с большими числами
Реализую алгоритм шифрования rsa. Шифрую сообщение следующим обрпзом . for i in range(len(dig_text)): dig_text =...

Работа с большими файлами
Доброго времени суток, необходима помощь Задача: Имеется большое количество (около 1000) .txt-файлов в размере от 1 до 300МБ, в которых...

Работа с большими числами
Всем доброго времени суток! В программе надо работать с большими числами, а точнее есть уравнение x^7/(x^6+19). Вопрос, как это...

Работа с большими числами
Доброго времени суток, уважаемые форумчане! Собственно задание которое я сделал совсем не сложное, и вроде даже рабочее. Собственно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru