AcWing - 90. 64 位整数乘法【 位运算 】题解

    技术2022-07-11  125

    目录

    1.题目2.代码

    1.题目

    求 a 乘 b 对 p 取模的值。 输入格式 第一行输入整数a,第二行输入整数b,第三行输入整数p。 输出格式 输出一个整数,表示a*b mod p的值。 数据范围 1≤a,b,p≤1018 输入样例: 3 4 5 输出样例: 2

    2.代码

    #include<iostream> #include<cstdio> #define ll long long using namespace std; int main() { ll a, b, p,res; cin >> a >> b >> p; res = 0; while(b) { if (b & 1) { res = (res + a) % p; } b >>= 1; a = a * 2 % p; } cout << res << endl; return 0; }
    Processed: 0.010, SQL: 10