逆元模板題 HDU - 1576
阿新 • • 發佈:2018-11-14
逆元模板題
要求(A/B)%9973,但由於A很大,我們只給出n(n=A%9973)(我們給定的A必能被B整除,且gcd(B,9973) = 1)。
Input
資料的第一行是一個T,表示有T組資料。
每組資料有兩個數n(0 <= n < 9973)和B(1 <= B <= 10^9)。
Output
對應每組資料輸出(A/B)%9973。
Sample Input
2 1000 53 87 123456789
Sample Output
7922 6060
#include<cstdio> #include<cstring> using namespace std; void ex_gcd(int a,int b,int &x,int &y) { if(b==0) { x=1; y=0; } else { ex_gcd(b,a%b,x,y); int temp =x; x = y; y = temp-(a/b)*y; } } int main() { int x,y; long long B,n; int t; scanf("%d",&t); while(t--) { scanf("%lld%lld",&n,&B); ex_gcd(B,9973,x,y); x=x*n; x= (x%9973 +9973)%9973; printf("%lld\n",x); } return 0; }