找到解决a * x + b * y = c的x,y的所有值

时间:2016-04-07 08:49:38

标签: math

我被困在一项练习中,我需要找到所有可用的值来解决这个等式

  

a x + b y = c

范围:x> = -32768,y< = 32767

输入: a,b,c

输出:解决方程的x,y值,否则为zero

我试图创建一个解决此问题的算法,但此刻没有运气。任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:1)

有两种解决方法

第一个:

iterate all (x) from -32768 to 32768
  iterate all (y) from -32768 to 32768
    check if a*x + b*y  == c

并没有多大意义,因为y取决于x

a*x + b*y = c
      b*y = c-a*x
        y =(c-a*x)/b

所以这个算法要快得多:

iterate all (x) from -32768 to 32768
    calculate y as (c-a*x)/b
    check if a*x + b*y  == c