A/B (乘法逆元简单应用)

题意:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。

题解:a/b同余a*x(%p),我们只要求出x,然后根据结合律输出答案就行了

AC代码:

#include <iostream>
#include <cstring>
#include <string>
#include <map>
#include <cstdio>
#include <algorithm>
#define int long long
using namespace std;
const int maxn=1e6+5;
int qmi(int a,int k,int mod) {
	int ans=1;
	while(k) {
		if(k&1)ans=ans*a%mod;
		k=k>>1;
		a=a*a%mod;
	}
	return ans;
}
main() {
	int t;
	cin>>t;
	while(t--) {
		int n,b,p=9973;
		cin>>n>>b;
		int x=qmi(b,p-2,p)%p;
		cout<<n*x%p<<endl;
	}
}

猜你喜欢

转载自blog.csdn.net/Alanrookie/article/details/107960940