线性丢番图方程 裴蜀定理 扩展欧几里得算法
二元线性丢番图方程
方程
该方程实际上是二维平面上的一条直线,无固定解,所以丢番图方程又称为不定方程。
在数论中,我们记
那么,在讨论不定方程是否有整数解上,我们可得到以下定理。
裴蜀定理
如果
这个等式称为裴蜀等式。
推论
- 如果
,且 ,当且仅当 ,使 。 - 如果
,则有则有整数 使 。
证明
换个理解方式:对
那么,如果
扩展欧几里得算法
问题1
求
算法
当
当
由欧几里得算法,
由裴蜀定理,
所以
利用递归,先求出下一层的
再回代上一层,回代求特解
tips
实际上,就是等式两边同时除以
其中,
构造通解
问题2
求
算法
当
先用扩展欧几里得算法求
再乘以
当
[AcWing877] 扩展欧几里得算法
题目描述
给定
输入格式
第一行包含整数
接下来
输出格式
输出共
本题答案不唯一,输出任意满足条件的
数据范围
输入样例:
2 4 6 8 18
输出样例:
-1 1 -2 1
算法
这里就用
C++ 代码
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll exgcd(int a,int b,int &x,int &y) { if (b == 0){ x = 1, y = 0; return a; } int x1, y1, gcd; gcd = exgcd(b, a % b, x1, y1); x = y1, y = x1 - a / b * y1; return gcd; } int main() { int n; cin >> n; while (n--){ int a, b, x, y; cin >> a >> b; int gcd = exgcd(a,b,x,y); cout << x << " " << y << endl; } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~