链接:

https://www.acwing.com/problem/content/205/

题意:

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

思路:

首先:扩展欧几里得推导.

有ax+by = gcd(a, b) = gcd(b, a%b),

ax+by = bx+(a%b)y

ax+by = bx+(a-(a/b)b)y

ax+by = bx + ay-(a/b)
by

ax+by = ay + b(x-a/by)

有x' = y, y' = x-a/b
y

递归求解

对于ax = 1 (mod b).有b | ax+1. 令 ax+1 = -yb.

有ax+by = 1.用扩展欧几里得可以求出一个解.

代码:

#include <bits/stdc++.h>
using namespace std; int ExGcd(int a, int b, int &x, int &y)
{
if (b == 0)
{
x = 1, y = 0;
return a;
}
int d = ExGcd(b, a%b, x, y);
int tmp = y;
y = x-(a/b)*y;
x = tmp;
return d;
} int main()
{
int a, b, x, y;
scanf("%d%d", &a, &b);
int gcd = ExGcd(a, b, x, y);
printf("%d\n", ((x%b)+b)%b); return 0;
}

最新文章

  1. 源代码编译安装Python3.5.2
  2. [翻译]docker生态圈Mindmap
  3. hashCode之一--两个对象值相同,有相同的hash code
  4. [iOS基础控件 - 6.12.1] QQ菜单管理 UITabBarController 控制器管理
  5. Shell - 特殊变量
  6. 【转】Unable to execute dex: Java heap space 解决方案(如何为eclipse.int 添加内存)
  7. Yum中实现与apt-get install build-essential功能类似的命令
  8. boost::asio async_write也不能保证一次发完所有数据 二
  9. java学习笔记——Java多客户端与服务器通信
  10. sharepoint 创建个人网站
  11. Oracle EBS OM 主要API示例
  12. Mapreduce的序列化和流量统计程序开发
  13. win10系统搜索不到某些老式打印机
  14. eshint的配置
  15. [luogu4626][一道水题2]
  16. Handler实现线程间的通信1
  17. lxde 的安装和卸载以及注意事项,lubuntu
  18. python中类的概念
  19. 【转载】TCP数据包结构
  20. 多路复用IO与NIO

热门文章

  1. delphicbuilder10_2_1 安装破解注册
  2. XXLJOB2.1.0数据源配置踩坑记录
  3. 减2或减3(很搞的贪心)2019牛客国庆集训派对day6
  4. php网络请求
  5. OpenCV-图像处理
  6. 如何使用加多宝(jdb)在linux下调试Java程序
  7. create-react-app创建项目修改配置项的两种方法
  8. jvm自带的监控机制
  9. js二维数组转一维数组
  10. 4.ID主键生成策略