天天看點

【NOIP2012】洛谷1082 同餘方程

題目描述

求關于 x 的同餘方程 ax ≡ 1 (mod b)的最小正整數解。 輸入輸出格式 輸入格式:

輸入隻有一行,包含兩個正整數 a, b,用一個空格隔開。

輸出格式:

輸出隻有一行,包含一個正整數 x0,即最小正整數解。輸入資料保證一定有解。

裸的擴充歐幾裡得算法。

#include<cstdio>
#include<cstring>
#define L long long
void euc(L a,L b,L &x,L &y)
{
    if (b==)
    {
        x=;
        y=;
        return;
    }
    euc(b,a%b,y,x);
    y-=x*(a/b);
}
int main()
{
    L a,b,x,y;
    scanf("%lld%lld",&a,&b);
    euc(a,b,x,y);
    printf("%lld\n",(x%b+b)%b);
}