數論---同餘方程

在這裏插入圖片描述
思路:
就是求轉換後 ax+by=1ax+by=1,根 xx 的最小正整數解,用模板能求出特解(但有可能是負數),所以最後要進行答案處理

AC代碼:

#include<bits/stdc++.h>
using namespace std;
long long x, y;

void exgcd(long long a, long long b) //exgcd 模板
{
    if(b == 0)
    {
        x = 1;
        y = 0;
        return;
    } 
    exgcd(b, a % b);
    long long tx = x;
    x = y;
    y = tx - a / b * y; 
}

int main()
{
    long long a, b;
    cin >> a >> b;
    exgcd(a, b);

    x = (x % b + b) % b; //答案處理
    printf("%lld\n", x);
    return 0;
}

在這裏插入圖片描述
解析:
我們可以看出根 xxbb 與不加 bb 都是滿足方程的解,處理結果時 記得要取模

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章