试图弄清楚从哪里开始。该方程式包含两个未知数,并且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
因此对于:
第1轮
函数solveX(123,55,5)返回31
函数solveY(123,55,5)返回93
第二回合
函数resolveX(30,8,19)返回32
函数resolveY(30,8,19)返回35
任何从哪里开始的指针都很棒。
谢谢。
最佳答案
这是一个线性丢番图方程。其解决方案是众所周知的。可以将其重写为ex + fy = d
形式。查找g = gcd(e, f)
。如果d = g
,则存在无限多个积分解,可以使用extended Euclidean algorithm找到这些积分解。因此,如果d
仅仅是g
的倍数,那么也存在无限多个解决方案。如果d
不是g
的倍数,则没有解决方案。
关于c# - 如何创建一个函数来解决两个未知数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7454884/