zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    Min25 筛与 Powerful Numbers
    「CF576D」 Flights for Regular Customers
    「CF568C」 New Language
    「CF559E」 Gerald and Path
    「CF555E」 Case of Computer Network
    20210604
    20210603模拟赛总结
    20210602模拟赛总结
    CF603E 整体二分
    20210601模拟赛总结
  • 原文地址:https://www.cnblogs.com/JSZX11556/p/4377987.html
Copyright © 2011-2022 走看看