Description

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

Input

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

Output

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

Sample Input

3 10

Sample Output

7

Hint

【数据范围】

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

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

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

题解

既然保证有解,那么肯定有$gcd(a, b) = 1$,用$exgcd$求出$ax+by = 1$的一组解,再求出$x$的最小正整数解。

 1 //It is made by Awson on 2017.10.7
 2 #include <map>
 3 #include <set>
 4 #include <cmath>
 5 #include <ctime>
 6 #include <queue>
 7 #include <stack>
 8 #include <vector>
 9 #include <cstdio>
10 #include <string>
11 #include <cstdlib>
12 #include <cstring>
13 #include <iostream>
14 #include <algorithm>
15 #define LL long long
16 #define Max(a, b) ((a) > (b) ? (a) : (b))
17 #define Min(a, b) ((a) < (b) ? (a) : (b))
18 using namespace std;
19
20 LL a, b, x, y;
21
22 LL exgcd(LL a, LL b, LL &x, LL &y) {
23   if (b == 0) {
24     x = 1; y = 0;
25     return a;
26   }
27   LL c = exgcd(b, a%b, x, y);
28   LL t = x;
29   x = y;
30   y = t-a/b*y;
31   return c;
32 }
33 void work() {
34   scanf("%lld%lld", &a, &b);
35   LL gcd = exgcd(a, b, x, y);
36   printf("%lld\n", (x%b+b)%b);
37 }
38 int main() {
39   work();
40   return 0;
41 }

转载于:https://www.cnblogs.com/NaVi-Awson/p/7634959.html

[NOIp 2012]同余方程相关推荐

  1. NOIP 2012 同余方程

    菜到数论啥也不会了orz... 根据扩展欧几里得定理:ax + by = gcd(a,b)必定有至少一组解,且可以通过这个算法求出x,y的一组解 过程如下: 根据gcd(a,b) = gcd(b,a ...

  2. [普及] NOIP 2012 文化之旅

    题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家可能有相同的文化.不同 ...

  3. NOIP 2012 普及组 复赛 culture 文化之旅

    NOIP 2012 普及组 复赛 culture 文化之旅 1.找寻迪杰斯特拉(Dijkstra)算法,难度适中,过程中,找到该题. 2.结合题意,弄懂输入输出样例是关键一步. 3.为了能解决2,纸笔 ...

  4. NOIP 2012 开车旅行

    题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 ...

  5. Luogu P1082 同余方程(NOIP 2012) 题解报告

    题目传送门 [题目大意] 求关于x的同余方程 ax≡1(mod b)的最小整数解. [思路分析] 由同余方程的有关知识可得,ax≡1(mod b)可以化为ax+by=1,此方程有解当且仅当gcd(a, ...

  6. 【NOIP】提高组2012 同余方程

    [算法]扩展欧几里德算法 [题解]学完扩欧就可以随便水了... 转化为不定方程ax-by=1. 因为1且题目保证有解,所以方程有唯一解. 紫书曰:同余方程的一个解其实指的是一个同余等价类. 所以满足x ...

  7. NOIP 2012 Day2

    tags: 扩展欧几里得 二分答案 查分 倍增 二分答案 贪心 NOIP categories: 信息学竞赛 总结 同余方程 借教室 疫情控制 同余方程 Solution 首先同余式可以转化为等式. ...

  8. P1083 [NOIP 2012]借教室

    https://www.luogu.org/problem/show?pid=1083#sub 一开始容易想到的方法是线段树,每次修改时,如果出现负数,那么当前这个人一定不能满足了. 但是在noip里 ...

  9. NOIP 2012 T2 国王游戏 (贪心+高精)

    思路: 呃呃网上那么多题解写得都不错-.. 就是高精 巨坑... 这里展出的是任氏高精(纯自己yy滴) //By SiriusRen #include <cstdio> #include ...

  10. dijkstra算法详解加例题分析 NOIP 2012 文化之旅

    首先说一下什么叫单源最短路径问题: 给定一个带权有向图G=(V,E),其中每条边的权是一个实数.另外,还给定V中的一个顶点,称为源.现在要计算从源到其他所有各顶点的最短路径长度.这里的长度就是指路上各 ...

最新文章

  1. Linux那些事儿 之 戏说USB(28)设备的生命线(十一)
  2. win7、win10进程pid4占用80端口的解决办法
  3. c++ map iterator 获取key_前K个高频的元素衍生之Map的Value与Key排序
  4. 如何导入hadoop源码到eclipse
  5. python使用python-docx导出word
  6. 物联网应用层安全威胁_物联网安全国家标准发布,物联网安全产业链确立
  7. Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci
  8. Delphi编程 -- 如何实现一个支持Visual Basic的For Each调用的COM对象
  9. [CM311-1A]-全网最全 Android 用户管理及用户应用权限
  10. 【NLP】统计自然语言处理(第2版)思维导图
  11. PHP算法学习(5) 位运算
  12. HTML页面跳转的5种方法
  13. 计算机硬件认识与了解,计算机硬件认识实习报告参考
  14. 语音信号处理入门入籍和课程推荐
  15. 诛仙mysql数据库清空_数据库管理,启动命令,输入密码,用户名,虚拟机诛仙zx1324-1345一键镜像端、纯端kfvip - Welcome to XiongTianQi.CN...
  16. 安卓手机卡顿怎么解决_苹果七系统内存满了手机卡顿解决方法
  17. Swift 周报 第十七期
  18. JAVA的GUI编程02——事件监听(ActionListener)、TextField事件监听、(组合、内部类)
  19. Oracle 物理读 逻辑读 一致性读 当前模式读总结浅析
  20. 【MySQL自学之路】第2天——关系代数计算【理论知识】

热门文章

  1. 携程基于云的软呼叫中心及客服平台架构实践\n
  2. jQuery知识点学习整理
  3. github的账号SSH设置
  4. 4SUM Leetcode
  5. 打开大数据研究的潘多拉魔盒
  6. 【web必知必会】—— 图解HTTP(转)good
  7. Javascript代码编写的逻辑冗余
  8. java 多个引用指向同一个对象(含案例图解)
  9. Spring概述(精)
  10. 会话(状态)管理Cookie与Session(二)