DcC*_*CoO 1 algorithm exponentiation
给出2个正整数a和b(1 <a,b <10000),我想确定a ^ b <10000.
问题是我不能只解决一个^ b,因为64 ^ 64足以打破整数大小.
我怎么能快速得到这个答案?我想通过平方来使用取幂,但我还没有得到答案.
谢谢
由于这两个a
和b
是整数,我们可以得出结论:
特殊情况 a = 1
a ^ b < 10000 for any b
Run Code Online (Sandbox Code Playgroud)其他a
值可以组织成一个简单的表
a | critical b
-----------------------------
2 | 13
3 | 8
4 | 6
5..6 | 5
7..9 | 4
10..21 | 3
22..99 | 2
100..9999 | 1
10000.. | no solutions
Run Code Online (Sandbox Code Playgroud)所以,比方说a = 4
,b = 7
我们可以得出结论,4**7 > 10000
因为b = 7
它不仅仅是关键值(6
)a = 4