hdu1576(擴展gcd求乘法逆元)
阿新 • • 發佈:2018-04-08
mis pla IT cep bsp time 兩個 AI total
每組數據有兩個數n(0 <= n < 9973)和B(1 <= B <= 10^9)。
Output
對應每組數據輸出(A/B)%9973。
Sample Input
2
1000 53
87 123456789
Sample Output
7922
6060
分析:用擴展歐幾裏得算法求乘法逆元(模逆元)。
A/B
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 7509 Accepted Submission(s): 5969
Input 數據的第一行是一個T,表示有T組數據。
每組數據有兩個數n(0 <= n < 9973)和B(1 <= B <= 10^9)。
#include<cstdio> long long exgcd(long long a,long long b,long long &x,long long &y) { if(b==0) { x=1; y=0; return a; } long longView Coder=exgcd(b,a%b,x,y); long long t=x; x=y; y=t-a/b*y; return r; } int main() { int T; long long N,B,p=9973; scanf("%d",&T); while(T--) { scanf("%lld%lld",&N,&B); long long x,y; long long r=exgcd(B,p,x,y); printf("%lld\n",N*((x%p+p)%p)%p); }return 0; }
hdu1576(擴展gcd求乘法逆元)