欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

《算法竞赛进阶指南》 1 (P4) a^b 快速幂

程序员文章站 2022-05-22 22:44:31
快速幂 ......

快速幂

 1 #include<cstdio>
 2 #include<cmath>
 3 #include<iostream>
 4 using namespace std;
 5 long long a,b,p;
 6 long long read(){
 7     long long w=0,f=1;char c;c=getchar();
 8     while(c>'9'||c<'0'){if(c=='-') f=-1;c=getchar();}
 9     while(c>='0'&&c<='9'){w=w*10+c-'0';c=getchar();}
10     return w*f;
11 }
12 long long ksm(long long t,long long tt){
13     long long ans=1,k=t,kk=tt;
14     while(kk>0){
15         if(kk&1) ans=ans*k%p;
16         k=k*k%p;kk>>=1;
17     }
18     ans%=p;
19     return ans;
20 }
21 int main(){
22     a=read();b=read();p=read();
23     cout<<ksm(a,b)<<endl;
24     return 0;
25 }