zoukankan      html  css  js  c++  java
  • NOIP201208同余方程

                                                        NOIP201208同余方程

    描述

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

    格式

    输入格式

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

    输出格式

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

    样例1

    样例输入1[复制]

     
    3 10

    样例输出1[复制]

     
    7

    限制

    每个测试点1s

    提示

    对于40%的数据,2 ≤b≤ 1,000; 
    对于60%的数据,2 ≤b≤ 50,000,000; 
    对于100%的数据,2 ≤a, b≤ 2,000,000,000。

    二话不说,用扩展欧几里得算法吧,除非想时间超限~~~

     1 #include<iostream>
     2 using namespace std;  
     3 long long a,b,x,y;  
     4 long long gcd(long long  a,long long b,long long &x,long long &y)  
     5 {  
     6     if (b==0)
     7     { 
     8         x=1;
     9         y=0;
    10         return a;
    11     }  
    12     else
    13     {   
    14          long long ans=gcd(b,a%b,x,y);   
    15          long long t=x; x=y; y=t-(a/b)*y;  
    16          return ans;  
    17     }  
    18 }  
    19 int main()  
    20 {  
    21     cin>>a>>b;  
    22     long long ans=gcd(a,b,x,y);
    23     x=x%b;
    24     while(x<0)x+=b;
    25     cout<<x<<endl;
    26     return 0;  
    27 } 
    View Code
  • 相关阅读:
    使用paramiko的问题记录
    python常见异常及解决方法
    linux ps -aux各列含义
    常用技能
    超时程序管理
    跨年的总结和展望
    java json和对象互转
    一些常用功能总结
    ResultSet转成java类对象
    python常用功能总结
  • 原文地址:https://www.cnblogs.com/wxjor/p/5446803.html
Copyright © 2011-2022 走看看