5⁴³²¹ 与 4⁵³²¹ 哪个更大?

看知乎,偶然看到的一个数学题,排名前几位的答案已经给出了各种很好的口算、笔算方法。这类问题主要还是在于算法思路,如果这个数字更大,一些“暴力破解”的方法估计就不好使了。
这里针对这个问题,使用Python解决。
原问题链接:https://www.zhihu.com/question/328025939/answer/716242534
1.通过比较关系运算符返回的布尔值来判断

>>> 5**4321 > 4**5321
False
  1. 通过相除得到的商是否大于1来判断,和方法1本质一样
>>>  5**4321 / 4**5321
4.87724855272298e-184
  1. 一种取巧的方法,判断二者的位数,显然位数多的正整数大
>>> len(str(5**4321))-len(str(4**5321))
-183
  1. 通过取对数消除指数带来的高运算量
>>> import math
math.log(5)*4321>math.log(4)*5321
False
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容