27 条题解
-
4
代码自认为十分好懂
#include<cstdio> using namespace std; #define ll long long ll cal(ll a, ll b, ll p) { ll ans = 1 % p; for (; b; b >>= 1)//个人码风原因,也可使用while循环额外加b >>= 1 { if (b & 1) ans = ans * a % p;//及时取模防止爆掉 a = a * a % p;//及时取模防止爆掉 } return ans; } int main() { ll a, b, p; scanf("%lld %lld %lld", &a, &b, &p); printf("%lld", cal(a, b, p)); return 0; }
信息
- ID
- 171
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 1165
- 已通过
- 373
- 上传者