Die Aufgabe
Schreiben Sie eine Funktion L (), die zwei Tupelargumente von Koordinaten in der Form (x, y) verwendet und ihre jeweilige lineare Funktion in der Form (a, c) zurückgibt, wobei a der Koeffizient des x-Terms und c ist ist der y-Achsenabschnitt.
Sie können davon ausgehen, dass die Eingabe keine Linie senkrecht zur x-Achse ist und dass die beiden Eingaben separate Punkte sind.
Wertung
Dies ist Code Golf: Das kürzeste Programm gewinnt.
Bitte beachten Sie: Keine Verwendung mathematischer Funktionen außer den Basisoperatoren (+, -, /, *).
Beispiel
Hier ist meine Lösung ohne Golf in 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)
Ausgabe:
>>> 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) )?