[C++][算法基础]线性同余方程(扩展欧几里得算法)

server/2024/11/15 8:27:39/

给定 𝑛 组数据 𝑎𝑖,𝑏𝑖,𝑚𝑖,对于每组数求出一个 𝑥𝑖,使其满足 𝑎𝑖×𝑥𝑖 ≡ 𝑏𝑖(mod𝑚𝑖),如果无解则输出 impossible

输入格式

第一行包含整数 𝑛。

接下来 𝑛 行,每行包含一组数据 𝑎𝑖,𝑏𝑖,𝑚𝑖。

输出格式

输出共 𝑛 行,每组数据输出一个整数表示一个满足条件的 𝑥𝑖,如果无解则输出 impossible

每组数据结果占一行,结果可能不唯一,输出任意一个满足条件的结果均可。

输出答案必须在 𝑖𝑛𝑡 范围之内。

数据范围

1≤n≤10^{5},
1≤𝑎𝑖,𝑏𝑖,𝑚𝑖≤2×10^{9}

输入样例:
2
2 3 6
4 3 5
输出样例:
impossible
-3

代码:
 

#include<iostream>
using namespace std;int n;int EXT_gcd(int a,int b,int &x,int &y){if(b == 0){x = 1;y = 0;return a;}else{int d = EXT_gcd(b,a % b,x,y);int temp = y;y = x - (a/b) * y;x = temp;return d;}
}int main(){cin>>n;while(n--){int a,b,m,x,y;cin>>a>>b>>m;int res = EXT_gcd(a,m,x,y);if(b % res != 0){cout<<"impossible"<<endl;}else{cout<<(long long)x * (b / res) % m<<endl;}}return 0;
}


http://www.ppmy.cn/server/15137.html

相关文章

【数据结构】栈和队列(链表模拟队列)

学习本章节必须具备 单链表的前置知识&#xff0c; 建议提前学习&#xff1a;点击链接学习&#xff1a;单链表各种功能函数 细节 详解 本章节是学习用 单链表模拟队列 1. 单链表实现队列 思路如下 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数…

2024年地质测绘、遥感与地理信息技术国际学术会议(GSRSGIT2024)

2024年地质测绘、遥感与地理信息技术国际学术会议(GSRSGIT2024) 会议简介 2024年地质测绘、遥感与地理信息技术国际学术会议(GSRSGIT2024)将在北京隆重举行。本次大会将汇集国内外地质、测绘、遥感、地理信息技术等领域的专家学者&#xff0c;共同探讨行业前沿技术和发展趋势…

CNPM、NPM 和 Yarn:JavaScript 包管理器的比较

在现代Web开发中&#xff0c;包管理器是不可或缺的工具&#xff0c;它们帮助开发者管理项目中使用的各种第三方库。在JavaScript世界里&#xff0c;最常见的包管理器有 NPM、Yarn 和 CNPM。本文将详细介绍这三者的不同之处&#xff0c;并用简单的例子来帮助初学者理解每种工具的…

C++|运算符重载(3)|日期类的计算

前面介绍了运算符重载相关规则和方法&#xff0c;今天用运算重载函数实现对日期类的操作。 目录 前面准备 实现功能&#xff1a; -运算符 Date类和int 相减 Date类和Date类相减 运算符 &#xff0c;-运算符 ,!运算符 >,>运算符 <,<运算符 &#xff0c;-…

javaEE初阶——多线程(九)——JUC常见的类以及线程安全的集合类

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享多线程专题的最后一篇文章:关于JUC常见的类以及线程安全的集合类 如果有不足的或者错误的请您指出! 目录 3.JUC(java.util.concurrent)常见的类3.1Callable接口3.2 RentrantLoc…

鸿蒙HarmonyOS应用 - ArkUI组件

ArkUI组件 基础组件 Image 声明Image组件并设置图片源 网络权限&#xff1a;ohos.permission.INTERNET Image(scr: string | PixelMap | Resource)// 1. string&#xff1a;用于加载网络图片&#xff0c;需要申请网络权限 Image("https://xxx.png")// 2. PixelMap…

vue3中的ref、isRef、shallowRef、triggerRef和customRef

1.ref 接受一个参数值并返回一个响应式且可改变的 ref 对象。 ref 对象拥有一个指向内部值的单一属性 .value property &#xff0c;指向内部值。 例&#xff1a;此时&#xff0c;页面上的 str1 也跟着变化 <template><div><button click"handleClick&quo…

【WebRTC】【Unity】局域网UDP通信为何不通

【背景】 还是在研究Unity中实现VR桌面&#xff0c;希望能够通过UDP广播先找到所有活跃的Client。但是发现UDP广播并未能够成功传递给同一局域网正在运行的客户端。 【分析】 UDP信息在局域网不通可能有如下几个原因&#xff1a; 未连在同一个网段防火墙问题是否存在其它网…