28 条题解
-
0
注释了啊
#include <bits/stdc++.h> using namespace std; /* (a+b)%k = (a%k+b%k)%k (a*b)%k = ((a%k)*(b%k))%k */ //快速幂 (a^x)%p // a=1231321313 // x=5464646546 // p=12313 long long a,x,p; long long f(int k){//a的k次方 %p的结果 if(k==0) return 1; if(k==1) return a%p; long long tmp=f(k/2); if(k%2==0){ return tmp*tmp%p; }else{ return (tmp*tmp%p)*a%p; } } int main(){ cin>>a>>x>>p; cout<<f(x); return 0; }
信息
- ID
- 171
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 1212
- 已通过
- 390
- 上传者