14- II. 剪绳子 II,取模

14- II. 剪绳子 II

image.png

思路:

14- I. 剪绳子相比,多了取模。
因为最后结果以指数形式增加,可能会超int32 甚至int64,
image.pngsegmentfault

若只在最终结果求余:
image.png
所以须要逐步求余,求余具备结论以下:优化

(xy)%p = [(x%p)(y%p)]%p
(x^a)%p = ((···(x%p)*x%p)····*x%p)

所以采用循环求余的方法:
每乘一次3,取一次模,最后return再取一次模。spa

操做:

image.png
官方:
n=4没有操做,能够优化掉
image.pngcode

  • 注意:get

    • 最终结果res用long型来接收
    • 最终return res*n%1000000007,就考虑了余数为0,1,2以及4的状况。
相关文章
相关标签/搜索