数论---同余方程

在这里插入图片描述
思路:
就是求转换后 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 都是满足方程的解,处理结果时 记得要取模

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