zoukankan      html  css  js  c++  java
  • hdu1576 A/B 数论

    hdu1576 A/B
    逆元 扩展欧几里得
    数论

     1 #include <bits/stdc++.h>
     2 using namespace std ; 
     3  
     4 const int mod = 9973 ; 
     5 int T,n,A,B,inv,x,y,t ; 
     6 
     7 inline int read() 
     8 {
     9     int x = 0 , f = 1 ; 
    10     char ch = getchar() ; 
    11     while(ch<'0'||ch>'9') { if(ch=='-') f = -1 ; ch = getchar() ; } 
    12     while(ch>='0'&&ch<='9') { x = x * 10+ch-48 ; ch = getchar() ; } 
    13     return x * f ; 
    14 }
    15 
    16 inline int gcd(int a,int b) 
    17 {
    18     if(!b) {
    19         x = 1 ,y = 0 ; 
    20         return a ; 
    21     }
    22     int tmp = gcd(b,a%b) ; 
    23     t = x ; 
    24     x = y ; 
    25     y = t - a/b*y ; 
    26     return tmp ; 
    27 }
    28 
    29 int main() 
    30 {
    31     T = read() ;  
    32     while(T--) 
    33     {
    34         A = read() ; B = read() ; 
    35         gcd(B,mod) ; 
    36         x = ( x%mod + mod )%mod ;     //  其实每次 加的是 mod /gcd(B,mod)   但是 因为 两者互质  
    37         printf("%d
    ",A*x%mod) ; 
    38     }
    39     return 0 ; 
    40 }
  • 相关阅读:
    Spring
    华为OJ题目:扑克牌大小
    冒泡排序算法总结
    华为OJ题目:刷题
    求立方根
    假硬币问题求解
    SQL in Qt (一)
    Qt3D教程
    (Qt 翻译) QGLAbstractScene
    (Qt 翻译) QGLSceneNode
  • 原文地址:https://www.cnblogs.com/third2333/p/7181803.html
Copyright © 2011-2022 走看看