7 条题解
-
-2
知识点:快速幂
/* int %o/%lo(八进制) %d/%i/%ld/%li(十进制) %x/%lx(十六进制)[如标名为o/lo/d/i/lo/li/x/lx即输出为八进制/十进制/十六进制] longlong %lld float %f/%e double %lf/%le char %c char[] %s 'a'=97 'z'=122 'A'=65 'Z'=90 '0'=48 '9'=57 */ #include <iostream> #include <iomanip> #include <cmath> #include <cstdio> #include <cstring> #include <algorithm> #include <ctime> #include <limits> #include <assert.h> #include <stdlib.h> using namespace std; #define LL long long #define ull unsigned long long const int N=1e5+10; const int INF=0x3f3f3f3f; const double pi=3.1416; LL a,b,p; long long power(long long a,long long b,long long p){ long long ans=1; long long wp=a; while(b){ if(b&1){ ans=ans*wp%p; } b>>=1; wp=wp*wp%p; } return ans%p; } int main(){ cin>>a>>b>>p; cout<<power(a,b,p)<<endl; return 0; }
信息
- ID
- 2
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 3081
- 已通过
- 473
- 上传者