我被困在一项练习中,我需要找到所有可用的值来解决这个等式
a x + b y = c
范围:x> = -32768,y< = 32767
输入: a,b,c
。
输出:解决方程的x,y
值,否则为zero
。
我试图创建一个解决此问题的算法,但此刻没有运气。任何帮助都非常感谢。
答案 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