题目描述

求 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)
        t = (t << 1)
        b >>= 1;
    }
    cout << res;
    return 0;
}
分类: Algorithm

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

友情链接:Ctips' blog, Colza’s blog

站点状态:Status