【杭电oj】1576 - A/B

题目链接

设B*C=1(mod m),根据逆元的定义,(A/B)mod m == ((A mod m)* C) mod m,所以这道题就是求B的逆元。

AC代码:

#include
using namespace std;
typedef long long ll;
const int mod = 9973;
ll ex_gcd(ll a,ll b,ll &x,ll &y){
    ll t,d;
    if(!b){
        x = 1;
        y = 0;
        return a;
    }
    d = ex_gcd(b,a%b,x,y);
    t = x;
    x = y;
    y = t - (a/b)*y;
    return d;
}
ll inv(ll a){
    ll x,y;
    ex_gcd(a,mod,x,y);
    return (x+mod)%mod;
}
int main(void){
    int n,b,T;
    cin>>T;
    while(T--){
        cin>>n>>b;
        cout<<(n*inv(b))%mod<return 0;
}

你可能感兴趣的:(数论)