Loading... ## 题目描述 求 a 乘 b 对 p 取模的值。 ### 输入格式 第一行输入整数a,第二行输入整数b,第三行输入整数p。 ### 输出格式 输出一个整数,表示a\*b mod p的值。 ### 数据范围 1≤a,b,p≤10^18 ### 输入样例: ``` 3 4 5 ``` ### 输出样例: ``` 2 ``` ### 题目分析 高精度算法 **or** 龟速乘 **or** ~\_\_128int~ **or** ~Python~ ### 代码实现 #### 龟速乘 ``` #include <iostream> using namespace std; using ll = long long; ll a, b, p; int main () { ios::sync_with_stdio(0); cin.tie(0); cin >> a >> b >> p; ll res = 0, t = a; while(b) { if (b & 1) res = (res + t) % p; t = (t << 1) % p; b >>= 1; } cout << res; return 0; } ``` 最后修改:2023 年 08 月 06 日 © 允许规范转载 赞 1 如果觉得我的文章对你有用,请随意赞赏