文章
31
粉丝
0
获赞
50
访问
5.5k
#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超时
登录后发布评论
暂无评论,来抢沙发