求 $a$ 乘 $b$ 对 $p$ 取模的值。

输入格式
第一行输入整数 $a$,第二行输入整数 $b$,第三行输入整数 $p$。

输出格式
输出一个整数,表示 $a*b mod p$ 的值。

数据范围
$1 ≤ a, b, p ≤ 10^{18}$
输入样例:
3
4
5
输出样例:
2


题解

#include<iostream>
using namespace std;
typedef long long LL;

int main(){
    LL a, b, p;
    cin >> a >> b >> p;
    LL ans =0;
    for(; b; b >>= 1) {
        if(b & 1) ans = (ans + a) % p;
        a = a * 2 % p;
    }
    cout << ans << endl;
    return 0;
}
Last modification:March 7, 2022
如果觉得我的文章对你有用,请随意赞赏