Готово, это было плохо. часть моего кода была неправильной, спасибо
Python поддерживает целый тип "сверхбольшого числа", который может работать с произвольно большими количествами. В Python 2.5 +, этот тип называют long
и является отдельным от эти int
тип, но интерпретатор будет автоматически использовать, какой бы ни является более соответствующим. В Python 3.0 +, эти int
тип был отброшен полностью.
Это - просто деталь реализации, хотя —, пока у Вас есть версия 2.5 или лучше, просто выполните стандартные математические операции и любое число, которое превышает границы 32-разрядной математики, будет автоматически (и прозрачно) преобразован в сверхбольшое число.
можно найти все окровавленные детали в PEP 0237.
Python поддерживает произвольно большие целые числа естественно:
In [1]: 59**3*61**4*2*3*5*7*3*5*7
Out[1]: 62702371781194950
In [2]: _ % 61**4
Out[2]: 0
Вы могли сделать это ради удовольствия, но кроме которого это не хорошая идея. Это не ускорило бы ничего, о чем я могу думать.
Получение карт в руке будет целочисленной операцией факторинга, которая является намного более дорогой, чем просто доступ к массиву.
Добавляющие карты были бы умножением, и разделением карт удаления, обоими из больших чисел многословных, которые являются более дорогими операциями, чем добавление или удаление элементов из списков.
фактическое числовое значение руки ничего не скажет Вам. Необходимо будет учесть начала и следовать правилам Покера сравнить две руки. h1 < h2 для таких рук ничего не означает.
Интерпретатор Python обработает его для Вас, просто необходимо сделать операции (+, - *,/), и это будет работать нормальным.
Эти int
значение неограниченно.
Осторожный при выполнении подразделения, по умолчанию частное превращено в float
, но float
не поддерживает такие большие количества. Если Вы добираетесь, сообщение об ошибке, говоря float
не поддерживает такие большие количества, то это означает, что частное является слишком большим, чтобы быть сохраненным в float
, you’ll должны использовать подразделение пола (//
).
Это игнорирует любое десятичное число, которое прибывает после десятичной точки, этого пути, результат будет int
, таким образом, у Вас сможет быть результат большого количества.
10//3
Выводы 3
10//4
выводы 2