快速幂
Posted shzyk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速幂相关的知识,希望对你有一定的参考价值。
快速幂对于k^n,每次将n分开
讨论n是否为偶数即可
时间复杂度自然从O(n)转变为了O(logn)
此处只呈现非递归版快速幂(不建议递归版快速幂)
#include<iostream> #include<cstdio> using namespace std; long long k,p,b; int main() { scanf("%lld%lld%lld",&b,&p,&k); long long re=1; while(p>0) { if(p&1) re*=b,re%=k; b*=b,b%=k; p>>=1; } cout<<re%k; return 0; }
以上是关于快速幂的主要内容,如果未能解决你的问题,请参考以下文章