如果不用字串來這題可以更省空間,用字串存一個大數要500*8=4000bit,
但用length 32的uint64_t也就是2048bit來存一個大數(想要的話可以切更細,理論上500位數只要ceil(500/log(2))=1661個bit就好)跟一些bitops就足夠了,
實測大手筆的uint64_t[32]跑下來只用64KB可以給想客家起來的同伴們一個參考(。•̀ᴗ -)✧
如果不用字串來這題可以更省空間,用字串存一個大數要500*8=4000bit,
但用length 32的uint64_t也就是2048bit來存一個大數(想要的話可以切更細,理論上500位數只要ceil(500/log(2))=1661個bit就好)跟一些bitops就足夠了,
實測大手筆的uint64_t[32]跑下來只用64KB可以給想客家起來的同伴們一個參考(。•̀ᴗ -)✧
我的code基本沒優化,優化過後應該可以省更多空間,然後c++有bitset可以試試