zoukankan      html  css  js  c++  java
  • P1082 同余方程(拓展欧几里德)

    题目描述

    求关于xx的同余方程 a x equiv 1 pmod {b}ax1(modb) 的最小正整数解。

    输入输出格式

    输入格式:

    一行,包含两个正整数 a,ba,b,用一个空格隔开。

    输出格式:

    一个正整数 x_0x0,即最小正整数解。输入数据保证一定有解。

    输入输出样例

    输入样例#1: 复制
    3 10
    输出样例#1: 复制
    7

    说明

    【数据范围】

    对于 40%的数据,2 ≤b≤ 1,0002b1,000;

    对于 60%的数据,2 ≤b≤ 50,000,0002b50,000,000;

    对于 100%的数据,2 ≤a, b≤ 2,000,000,0002a,b2,000,000,000。

    NOIP 2012 提高组 第二天 第一题

    代码:

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #include<queue>
    #include<stack>
    #include<set>
    #include<map>
    #include<vector>
    #include<cmath>
    
    const int maxn=1e5+5;
    typedef long long ll;
    using namespace std;
    ll exgcd(ll a,ll b,ll &x,ll &y)
    {
        if(b==0)
        {
            x=1;
            y=0;
            return a;
        }
        ll ans=exgcd(b,a%b,x,y);
        ll temp=x;
        x=y;
        y=temp-(a/b)*y;
        return ans;
    }
    int main()
    {
        ll a,b;
        ll x=0,y=0;
        cin>>a>>b;
        ll ans=exgcd(a,b,x,y);
        cout<<(x%b+b)%b<<endl;
        
        return 0;
    }
  • 相关阅读:
    非线性数据结构——树
    排序算法之插入排序
    web框架之environment处理
    web开发之http和wsgi
    python os模块和shutil模块
    python路径操作
    stringIO和bytesIO
    python文件操作
    设计模式
    设计模式
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/11230238.html
Copyright © 2011-2022 走看看