当前位置: 首页 > news >正文

算法基础-扩展欧几里得算法

扩展欧几里得

public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();while (n-- > 0) {int a = in.nextInt();int b = in.nextInt();int[] m = exgcd(a, b);System.out.println(m[0] + " " + m[1]);}}private static int[] exgcd(int a, int b) {if (b == 0)return new int[]{1, 0};int[] result = exgcd(b, a % b);int x = result[0];int y = result[1];result[0] = y;result[1] = x - (a / b) * y;return result;}
}

线性同余方程

public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();while (n-- > 0) {int a = in.nextInt();int b = in.nextInt();int m = in.nextInt();int[] r = exgcd(a, m);if(b % r[2] != 0) {System.out.println("impossible");} else {System.out.println(r[0] * ((long) b / r[2]) % m);}}}private static int[] exgcd(int a, int m) {if (m == 0)return new int[]{1, 0, a};int[] result = exgcd(m, a % m);int x = result[0];int y = result[1];result[0] = y;result[1] = x - (a / m) * y;return result;}
}


http://www.mrgr.cn/news/27102.html

相关文章:

  • JS Web
  • python容器四之字典
  • GD - GD32350R_EVAL - PWM实验和验证3 - EmbeddedBuilder - 无源蜂鸣器 - 用PMOS来控制
  • 随机查询若干数据,并根据全部数据的点击量排序的核心代码
  • list和vector的区别
  • 在 Mac 中设置环境变量
  • 性能测试的复习4-数据库连接、控制器、定时器
  • Spring Cloud常见面试题
  • 初学者指南:如何在Windows 11中自定义任务栏颜色,全面解析!
  • 【C#生态园】从基础到深度学习:探索C#机器学习库
  • Stream流的思想和获取Stream流
  • 共享单车轨迹数据分析:以厦门市共享单车数据为例(四)
  • 加速开发体验:为 Android Studio 设置国内镜像源
  • JavaScript --函数的作用域(全局和局部)
  • 测试质量体系的风险评估和应对措施有哪些
  • GO Server-Sent Events (SSE)
  • Cache Aside pattern
  • USB组合设备——鼠标+键盘(两个接口实现)
  • elementui组件el-upload实现批量文件上传
  • Unity生命周期_一些容易忽略的点>重复的生命周期代码会执行子类的。