问题 B: 64位整数乘法(C++)(快速幂)

目录

1.题目描述

2.AC


1.题目描述

问题 B: 64位整数乘法
时间限制: 1.000 Sec  内存限制: 128 MB
 
题目描述
求 a 乘 b 对 p 取模的值,其中 1≤a,b,p≤10^18。
输入
第一行a,第二行b,第三行p。
输出
一个整数,表示a*b mod p的值。
 

样例输入 Copy
2
3
9

样例输出 Copy
6

2.AC

#include  
using namespace std;

int main () {
	unsigned long long a, b, p, ans = 0;
	cin>>a>>b>>p;
	while (b > 0) {
		if (b & 1) {
			ans = (ans + a) % p;
		}
		a = a * 2 % p;
		b >>= 1;
	}
	cout<

你可能感兴趣的:(算法学习,职场和发展,算法,c++)