假设此计算保持在正常的I7
cpu。
这部分内容如下: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
一秒钟,那么百万年就可以解决它。
这是真的吗?
答案 0 :(得分:2)
问题是结果将是一个非常大的整数,因此不仅是长动作操作,而且结果的分配,都是繁重的时间和CPU消耗操作。
答案 1 :(得分:2)
我想知道是否存在使
的常数值c2**x == 3**(x/c)
如果是x
,则
2**x == 3**(x/c)
然后
log(2**x) == log(3**(x/c))
x * log(2) = (x/c) * log(3)
所以
c = log(3)/log(2) ~ 1.5849625...