快速幂(模板)

这里看到了快速幂算法的有关推导(在此感谢~)

理解了这个算法本身之后,发现你忘了快速幂怎么打,对于noip2013 T1你也可以拿到80

所以看懂推导很重要(如果忘了,请认真看)

 

这里就mark一下模板好了(链接写的很详细,所以自己的推导就过了)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
long long ans=1;
int a,b,c;
int main(){
    scanf("%d%d%d",&a,&b,&c);//(a^b)%c
    a%=c;
    while(b>0){
        if(b%2==1) ans=(ans*a)%c;
        b/=2;
        a=(a*a)%c;
    }
    cout<<ans;
    return 0;
}

  

posted @   polebug  阅读(280)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示