快速幂模板Super

//求x^n
int ans=1;
while(n)
{
  if(n&1)
    ans=ans*x;
  x*=x;
  n>>=1;
}

 

快速幂就是快速算底数的n次幂。其时间复杂度为 O(logN), 与朴素的O(N)相比效率有了极大的提高。

 

例如
11的二进制是1011
11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1

因此,我们将a¹¹转化为算

 下面看一个例题

posted @ 2019-07-20 10:44  DreamingBligo_Tido  阅读(117)  评论(0编辑  收藏  举报