• [NOIP2012提高组] CODEVS 1200 同余方程(扩展欧几里德算法)


    数论题..所有数论对我来说都很恶心..不想再说什么了..

    ------------------------------------------------

    #include<iostream>
     
    using namespace std;
     
    void gcd(int a,int b,int &x,int &y) {
    if(!b) { x=1; y=0; }
    else {
    gcd(b,a%b,x,y);
    int t=x; x=y;
    y=t-a/b*x;
    }
    }
     
    int main()
    {
    // freopen("test.in","r",stdin);
    // freopen("test.out","w",stdout);
    int a,b,x,y;
    cin>>a>>b;
    gcd(a,b,x,y);
    cout<<(x%b+b)%b<<endl;
    return 0;
    }

      

    ------------------------------------------------ 

    1200 同余方程

     

    2012年NOIP全国联赛提高组

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 钻石 Diamond


    题目描述 
    Description 

    求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解。 

    输入描述 Input Description

    输入只有一行,包含两个正整数 a, b,用 一个 空格隔开。 

    输出描述 Output Description

    输出只有一行包含一个正整数x0,即最小正整数解,输入数据保证一定有解。

    样例输入 Sample Input

    3 10 

    样例输出 Sample Output

    7

    数据范围及提示 Data Size & Hint

    【数据范围】
    对于 40%  的数据, 2 ≤b≤ 1,000 ;
    对于 60% 的数据, 2 ≤b≤ 50,000,000 
    对于 100%  的数据, 2 ≤a, b≤ 2,000,000,000

  • 相关阅读:
    VC窗口类的销毁-是否需要delete
    ScrollView在调试状态一点击就挂的原因(OnMouseActivate)
    TextOut与DrawText的区别
    NOIP2010 引水入城
    欧拉回路
    BZOJ 1202: [HNOI2005]狡猾的商人
    codevs 2491 玉蟾宫
    BZOJ 1059: [ZJOI2007]矩阵游戏
    BZOJ 1024: [SCOI2009]生日快乐
    ural 1297. Palindrome
  • 原文地址:https://www.cnblogs.com/JSZX11556/p/4377987.html
Copyright © 2020-2023  润新知