假设此计算是在正常的I7
cpu上进行的。你知道吗
这个n的一部分看起来像:062818261573550755996975051396213990265395588957460690342970606032106870077208096704804861337086094604502447252509279335757453605836337900088980571550652843637152844978598425585659705979638641046274358312112553872770884438397651131234023085240167008580828612926148647820470126736393237752952205498922435592164336944705
事情是这样的。你知道吗
今天下午我突然想到一个猜测。我想知道是否存在一个常量值c
,它使2**x == 3**(x/c)
我算出了一个近似值:c = 1.5849116411760045
我做了一个任意的x = 213145
试图检查这个c
值有多精确。你知道吗
我做了n = 3 ** (int(n/x)) - 2 ** n
,n
是一个有64165位数字的十进制数!你知道吗
之后,我做了一个随意的动作:n ** n
我等了这么久,结果没有答案。你知道吗
经过一番思考,我很惊讶。我将这样一个数字乘以大约10**64165
倍!你知道吗
那我在想,在宇宙消失之前,它是不是行不通!你知道吗
但我的同事告诉我,CPU不会愚蠢地把它乘以那么多时间。它将使用一些算法来缩短时间。你知道吗
经过一次神奇的计算后,他告诉我,如果我的电脑能每秒做简单的计算10**8
,百万年后它就能计算出来。你知道吗
是真的吗?你知道吗
对于正
x
,如果那么
所以呢
问题是,结果将是一个非常大的整数,因此不仅是长的pow操作,而且是结果的分配,而且都是耗时耗CPU的操作。你知道吗
相关问题 更多 >
编程相关推荐