文章

31

粉丝

0

获赞

50

访问

5.5k

头像
幂次方 题解:
P1017 贵州大学机试题
发布于2026年1月11日 21:02
阅读数 429

#include <iostream> using namespace std; const int MOD = 233333; long long dfs(long long x, long long n) { if (n == 0) return 1; if (n == 1) return x % MOD; long long half = dfs(x, n / 2); // ⭐ 只算一次! long long res = (half * half) % MOD; if (n % 2 == 1) { res = (res * (x % MOD)) % MOD; } return res; } int main() { long long x, n; cin >> x >> n; cout << dfs(x, n) << endl; return 0; }

注意 long long half = dfs(x, n / 2); // ⭐ 只算一次! long long res = (half * half) % MOD,避免算两次dfs超时

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发