64位整数乘法

code

#include<iostream>
#include<cstring>
#define ll long long
using namespace std;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	ll a,b,p,res=0;
	cin>>a>>b>>p;
	
	while(b){
		if(b&1){//odd num
			res=(res+a)%p;
		}
		b>>=1;
		a=2*a%p;
	}
	cout<<res<<endl;
	
	return 0;
}

Q

64位整数乘法
   题目
   提交记录
   讨论
   题解
   视频讲解

求 a 乘 b 对 p 取模的值。

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

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

数据范围
1≤a,b,p≤1018
输入样例:
3
4
5
输出样例:
2
posted @ 2022-03-04 23:08  ethon-wang  阅读(34)  评论(0编辑  收藏  举报