剑指 Offer 14- II. 剪绳子 II - 力扣(LeetCode) (leetcode-cn.com)
本题只是在 "剪绳子 I" 的基础上增大了数据,因此我们只需要另外处理大数求余问题即可。
剪绳子I的题解:
剑指offer 14 - I. 剪绳子(贪心,DP)_Corux的博客-CSDN博客
目录
分析
处理一般性的大数求余问题的方法。
pow(a,x) % N
N是一个不超过32位的int型数据,a小于N, 当x较大时,pow(a,x)很可能超过64位,无法整型来表示。
我们希望在求解pow(a, x)的过程中,一旦发现结果超过了N,便令结果mod N。
a的多少次幂刚好超过N呢?
设
pow(a, k-1) <= N < pow(a, k)
则
k = log(N) / log(a) + 1