3 条题解
-
0
拓展: 如果 可以为负数, 即 (这样写是为了方便看(因为严格来讲
k
现在是负数)) 那么可以先求 然后 返回 (注: 返回值为double
), 特判 k 为负数的情况. (可以试试力扣pow(x, y)
这题)❤️#include <iostream> using namespace std; using ll = long long; ll myPow(ll a, ll k, ll p) { ll res = 1; while (k) { if (k & 1) res = res * a % p; k >>= 1; a = a * a % p; } return res; } int main() { int n; cin >> n; while (n--) { ll a, k, p; cin >> a >> k >> p; cout << myPow(a, k, p) << '\n'; } return 0; }
信息
- ID
- 97
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 296
- 已通过
- 100
- 上传者