如何比较大数python? 我有两个号码:
x=99^85,y=73^62。在
在python解释器中计算这两个数字会得到以下结果:
>>> x = 99 ** 85
>>> x
42559012338865490805205255842468783301592970011660094241731171697575386634867177511754750618655432231509140219114042806178869109409115320236642740915044006252790234308499
>>> y = 73 ** 62
>>> y
33575100975948386797110696048991269305533302609246066947133332393856972076850553634350302934134549900847114729991729
即使不计算结果,很明显x将大于y。为了减少位数,我对这两个数字执行了mod 1000000007
。我得到了以下结果:
如你所见,数字的mod结果导致y大于x。有没有一种有效的方法可以比较大量的数据并得到正确的结果。我不认为这个问题仅限于python,尽管问题的上下文在python下。在
提前谢谢
请看这个问题How does % work in Python?
模给出一个数的余数。所以4%10=4和14%10=4。因此,如果要直接比较两个数字,则使用模将丢失信息。
在python中比较大的数字非常快。使用ipython的%timeit查看。在
在我的系统(一个旧的i7,14gb的ram)上,它花费了46.3纳秒,几乎和python中的任何操作一样快。在
数量的“大小”对执行的影响非常小: “大数字”:
“小数字”:
^{pr2}$如果问题是如何比较python中的数字,请使用}:
>
和{相关问题 更多 >
编程相关推荐