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
  • 相关阅读:
    C语言实例解析精粹学习笔记——31
    进程调度(CFS)
    qemu中 guest与 host 网络配置
    网卡全虚拟化、virtio、vhost-net性能测试
    网桥与TAP设备
    进程调度
    中断、异常和系统调用
    文件系统
    Linux内核内存管理
    QEMU 设备模拟
  • 原文地址:https://www.cnblogs.com/wxjor/p/5446803.html
Copyright © 2011-2022 走看看