如何创建一个函数来解决两个未知数
本文关键字:解决 两个 未知数 函数 一个 创建 何创建 | 更新日期: 2023-09-27 18:08:57
试着找出从哪里开始。方程包含两个未知数,且x或y的解总是为正数。
给定a = 123
和b = 55
,且c = 5。在这种情况下,x = 31
和y = 93
,但我不知道提前的时间,我试图在c#中写一个函数来解决它。
a - (x + 1) * 96 - (y + 2) + 3104 - c = b
如果a = 30
和b = 8
和c = 19,那么x = 32
和y = 35
:第一轮函数solveX(123,55,5)返回31函数solveY(123, 55,5)返回93
第二轮函数solveX(30,8,19)返回32函数solveY(30,8,19)返回35
如果能告诉我从哪里开始就太好了。
谢谢。
这是一个线性丢番图方程。它的解决方案是众所周知的。它可以重写为ex + fy = d
。找到g = gcd(e, f)
。如果d = g
,则存在无穷多个积分解,这些解可以用扩展欧几里得算法求出。因此,如果d
仅仅是g
的倍数,那么也有无穷多个解。如果d
不是g
的倍数,则无解