水木社区手机版
首页
|版面-Python的自由天空(Python)|
新版wap站已上线
返回
1/1
|
转到
主题:print(2**(10**10)),pycharm没有输出
4楼
|
pgw
|
2023-04-01 20:13:41
|
展开
不要转换成串来输出,用to_bytes,我这里这个大整数占用1.25G内存。
※ 修改:·pgw 于 Apr 1 20:33:12 2023 修改本文·[FROM: 27.186.196.*]
※ 来源:·水木社区
http://www.mysmth.net
·[FROM: 27.186.196.*]
修改:pgw FROM 27.186.196.*
FROM 27.186.196.*
7楼
|
pgw
|
2023-04-01 20:52:15
|
展开
我这台10年的破电脑用了70秒左右。在计算过程中内存消耗可不止1.25G,计算完后就下来了。
【 在 feng321 的大作中提到: 】
: 你大概用了多长时间啊?
: 不要转换成串来输出,用to_bytes,我这里这个大整数占用1.25G内存。
--
FROM 27.186.196.*
11楼
|
pgw
|
2023-04-02 10:11:27
|
展开
都说了不要输出整个整数,转换成串不仅耗时间还耗内存。
只有8G内存,就不整2**(10**10)了。
>>> from math import log10
>>> n=2**(10**9)
>>> log10(n)
301029995.6639812
>>> x=divmod(n, 10**100)
>>> x[1]
8277822505291506349960972398725143913806843834591063914659350598833620642843023291606821041787109376
>>> exit()
【 在 feng321 的大作中提到: 】
: 大佬, 分享一下你的代码啊。我用如下代码
: import gmpy2
: print(gmpy2.mpz(2)**(10**9))
: ...................
--
FROM 27.186.196.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版