Sword 14-II

https://leetcode-cn.com/problems/jian-sheng-zi-ii-lcof/

和上题一样,只不过 N 的规模大了 一些,还增加一个求余的操作

求余就每次乘法带上就好,对于大的 N 我们用快速幂

快速幂的原理就是要算 res = a ^ n

 

while n > 0:

  if n & 1: res *= x

  a *= a

  a /= 2

 

就将原来的 O(n) 化为 log 级的

 

posted on 2021-03-04 15:32  FriskyPuppy  阅读(30)  评论(0编辑  收藏  举报

导航