第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Python中處理非常大的數(shù)字

在Python中處理非常大的數(shù)字

紫衣仙女 2019-08-02 16:43:32
在Python中處理非常大的數(shù)字我一直在考慮用Python進(jìn)行快速撲克手牌評估。在我看來,加速這個過程的一種方法是將所有卡面和套裝表示為素數(shù),然后將它們相乘以代表手。白衣:class PokerCard:     faces = '23456789TJQKA'     suits = 'cdhs'     facePrimes = [11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 53, 59, 61]     suitPrimes = [2, 3, 5, 7]和    def HashVal(self):       return PokerCard.facePrimes[self.cardFace] * PokerCard.suitPrimes[self.cardSuit]這會給每只手一個數(shù)值,通過模數(shù)可以告訴我手中有多少國王或多少顆心。例如,任何有五個或更多球桿的手將平均分為2 ^ 5; 任何有四個國王的手都會平均分為59 ^ 4等。問題是,像AcAdAhAsKdKhKs這樣的七張牌的手的哈希值大約為62.7千萬億,在內(nèi)部表示需要大于32位。有沒有辦法在Python中存儲這么大的數(shù)字,這將允許我對它進(jìn)行算術(shù)運算?
查看完整描述

3 回答

?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗 獲得超9個贊

Python支持“bignum”整數(shù)類型,可以使用任意大數(shù)。在Python 2.5+中,此類型被調(diào)用long并與int類型分開,但解釋器將自動使用更合適的類型。在Python 3.0+中,int類型已完全刪除。

這只是一個實現(xiàn)細(xì)節(jié) - 只要您有2.5或更高版本,只需執(zhí)行標(biāo)準(zhǔn)數(shù)學(xué)運算,任何超過32位數(shù)學(xué)邊界的數(shù)字都將自動(并透明地)轉(zhuǎn)換為bignum。

您可以在PEP 0237中找到所有血腥細(xì)節(jié)。


查看完整回答
反對 回復(fù) 2019-08-02
?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊

你可以為它的樂趣做到這一點,但除此之外,這不是一個好主意。它不會加速我能想到的任何事情。

  • 手中獲取卡將是一個整數(shù)因子分解操作,這比僅訪問陣列要昂貴得多。

  • 添加卡將是乘法,并且移除卡分區(qū),兩個大的多字?jǐn)?shù),這比在列表中添加或刪除元素更昂貴。

  • 手的實際數(shù)值不會告訴你什么。您將需要考慮素數(shù)并遵循撲克規(guī)則來比較兩手牌。h1 <h2這樣的手意味著什么。


查看完整回答
反對 回復(fù) 2019-08-02
  • 3 回答
  • 0 關(guān)注
  • 4268 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號