社区讨论
re*=a%p;为什么会WA得36分?
P1226【模板】快速幂参与者 5已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @m0z4hlk4
- 此快照首次捕获于
- 2024/09/12 18:04 去年
- 此快照最后确认于
- 2025/11/04 21:21 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
long long fun(long long a, long long b, long long p)
{
long long re = 1;
while (b)
{
if (b & 1)re *=a % p;//为什么这么写会WA得36分? 而re=re*a%p会AC?
a = a * a % p;
b >>= 1;
}
return re % p;
}
int main()
{
long long a, b, p;
cin >> a >> b >> p;
cout << a << '^' << b << ' ' << "mod" << ' ' << p << '=' << fun(a, b, p);
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...