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

题解:AcWing 878 线性同余方程

【题目来源】

AcWing:878. 线性同余方程 - AcWing题库

【题目描述】

给定 \(n\) 组数据 \(a_i,b_i,m_i\),对于每组数求出一个 \(x_i\),使其满足 \(a_i\times x_i \equiv b_i(mod\ m_i)\),如果无解则输出 impossible

【输入】

第一行包含整数 \(n\)

接下来 \(n\) 行,每行包含一组数据 \(a_i,b_i,m_i\)

【输出】

输出共 \(n\) 行,每组数据输出一个整数表示一个满足条件的 \(x_i\),如果无解则输出 impossible

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

输出答案必须在 \(int\) 范围之内。

【输入样例】

2
2 3 6
4 3 5

【输出样例】

impossible
-3

【解题思路】

image

【算法标签】

《AcWing 878 线性同余方程》 #数学知识# #同余# #扩展欧几里得算法#

【代码详解】

#include <bits/stdc++.h>
using namespace std;long long x, y; // 定义全局变量 x 和 y,用于存储扩展欧几里得算法的解// 扩展欧几里得算法,用于求解 ax + by = gcd(a, b) 的一组整数解
int exgcd(int a, int b)
{if (b == 0) { // 如果 b 为 0,递归终止x = 1, y = 0; // 解为 x = 1, y = 0return a; // 返回 gcd(a, b)}int r = exgcd(b, a % b); // 递归求解long long x1 = x, y1 = y; // 保存递归结果// 更新 x 和 y 的值x = y1;y = x1 - a / b * y1;return r; // 返回 gcd(a, b)
}int main()
{int n; // 定义整数 n,表示查询的次数cin >> n; // 输入查询的次数while (n--) { // 遍历每个查询int a, b, m; // 定义整数 a, b, mcin >> a >> b >> m; // 输入 a, b, mint r = exgcd(a, m); // 使用扩展欧几里得算法求解 gcd(a, m)if (b % r > 0) // 如果 b 不能被 gcd(a, m) 整除cout << "impossible" << endl; // 输出 "impossible"else// 计算方程的解并输出cout << (long long)b / r * x % m << endl;}return 0; // 程序结束
}

【运行结果】

2
2 3 6
impossible
4 3 5
-3
http://www.jsqmd.com/news/409269/

相关文章:

  • AI应用落地实操指南(非常详细),2026最新路线图,从入门到精通,收藏这一篇就够了!
  • 题解:AcWing 877 扩展欧几里得算法
  • FIQ 与 IRQ
  • Spring AI学习:聊天记忆
  • 题解:AcWing 876 快速幂求逆元
  • Kotlin程序员面试算法宝典【1.6】
  • 题解:AcWing 875 快速幂
  • 2026宜宾搬家优质品牌推荐:日式搬家、特惠搬家、短途搬运、空调移机、设备搬运、跨市搬家、运输公司、钢琴搬运选择指南 - 优质品牌商家
  • ACE Studio 联合 StepFun 开源了音乐生成基础模型 ACE-Step 1.5
  • 智能论文引用工具推荐:六大高效标注方案详解
  • 【完全免费】视频提取音频工具,视频转mp3格式,业界良心!视频一键提取mp3音频格式,操作简单不复杂!
  • RL的几种层次
  • 建筑浮雕优质厂家推荐:外墙eps线条/泡沫浮雕/泡沫浮雕构件/藏式线条/门窗装饰线条/eps欧式线条/选择指南 - 优质品牌商家
  • 信息泄露
  • 大数据与Power BI:开启数据分析新征程
  • 2026年2月建筑城规考研调剂培训班推荐,设计实力与调剂政策深度解读 - 品牌鉴赏师
  • 【课程设计/毕业设计】基于springboot+vue的工厂仓库管理系统的设计与实现基于Springboot的工厂仓库系统设计与实现【附源码、数据库、万字文档】
  • P1993 小 K 的农场
  • 2026广东最新沉香手串生产厂家top5推荐!广州等地优质沉香手串公司权威榜单发布,品质纯正选品安心 - 十大品牌榜
  • Java毕设项目:基于springboot的非遗文化传承与推广平台(源码+文档,讲解、调试运行,定制等)
  • 16PSK调制在Matlab上的蒙特卡罗仿真
  • 经典常谈
  • EPS线条优质厂家推荐 全流程一站式服务更靠谱 - 优质品牌商家
  • 计算机Java毕设实战-基于SpringBoot + Vue的物流管理系统设计与实现基于Spring Boot的YH物流管理系统设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Gstreamer插入第三方plugins流程:rgaconvert
  • 计算机Java毕设实战-基于springboot的非遗文化传承与推广平台基于web的非遗文化推广综合平台设计【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 计算机Java毕设实战-基于Springboot的工厂仓库系统设计与实现基于Springboot的工厂仓库出入库管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 一周面了7大模型算法岗,无一例外全过了,非常详细收藏我这一篇就够了
  • LeetCode 160. 相交链表 | 三种解法吃透核心逻辑(哈希表 + 双指针 + 长度对齐)
  • 【课程设计/毕业设计】基于springboot的数据可视化非遗文化传承与推广平台【附源码、数据库、万字文档】