任务
编写一个函数L(),该函数采用两个(x,y)形式的两个Tuple参数作为坐标,并以(a,c)形式返回它们各自的线性函数,其中a是x项和c的系数是y截距。
您可以假定输入将不是垂直于x轴的线,并且两个输入是单独的点。
计分
这就是Code Golf:最短的程序获胜。
请注意:除了基本运算符(+,-,/,*)外,请勿使用任何数学函数。
例
这是我在Python中使用的非解决方案。
def L(Point1, Point2):
x = 0
y = 1
Gradient = (float(Point1[y]) - float(Point2[y])) / (float(Point1[x]) - float(Point2[x]))
YIntercept = Point1[y] - Gradient * Point1[x]
return (Gradient, YIntercept)
输出:
>>> L( (0,0) , (1,1) )
(1.0, 0.0)
>>> L( (0,0) , (2,1) )
(0.5, 0.0)
>>> L( (0,0) , (7,1) )
(0.14285714285714285, 0.0)
>>> L( (10,22.5) , (5,12.5) )
(2.0, 2.5)
L((0,0),(0,0))?
L( (0,0) , (0,1) )?