Erläuterung:
Letztes Jahr im Matheunterricht bekamen wir bei den Hausaufgaben gelegentlich diese extrem einfachen, wenn auch ebenso nervigen Fragen, die als Diamant-Rätsel bezeichnet wurden. Dies waren im Grunde genommen Fragen, bei denen wir eine Summe erhalten, und ein Produkt wurde dann gebeten, die beiden Zahlen zu finden, die, wenn sie multipliziert werden, das Produkt ergeben und wenn sie addiert werden, die Summe ergeben. Diese machten mich verrückt, da ich sie (in Algebra I) nur lösen konnte, indem ich nur die Faktoren des Produkts auflistete und dann sah, welche addiert wurden, um die Summe zu ergeben. (Da ich zu der Zeit nicht wusste, wie man Quadratics benutzt) Ganz zu schweigen davon, dass sie nicht gerade die Mathematik herausfordern. Mir ist jedoch gerade eingefallen, dass ich gerade ein Programm hätte schreiben sollen. Das ist heute Ihre Herausforderung! Schreiben Sie ein Programm, mit dem Sie ein Diamant-Puzzle lösen können.
Beispiele
Entschuldigung für das verschwommene Bild, es ist das Beste, was ich finden konnte. Ignorieren Sie auch die Zahlen in Blasen. Die Oberseite des Diamanten ist das Produkt, die Unterseite ist die Summe, rechts und links sind die beiden Zahlen. Die Antworten lauten wie folgt: (Dies sind auch Ihre Testfälle.)
- 9, -7
- -2, -1
- 5, 8
- -9, -9
Regeln:
- Sie dürfen keine vordefinierten Funktionen oder Klassen verwenden, die dies für Sie ausführen.
- Ihr Code muss ein vollständiges Programm oder eine Funktion sein, die die Antworten zurückgibt oder druckt, sobald sie gefunden wurden
- Die Eingabe ist die Summe und das Produkt, die als Funktionsparameter oder Benutzereingabe eingegeben werden
Spezifikationen:
- Nehmen Sie an, dass die beiden Zahlen, die Summe und das Produkt immer eine ganze Zahl sind.
- Die beiden Antworten liegen zwischen -127 und 127.
- Ihre Eingabe besteht aus zwei ganzen Zahlen (Summe und Produkt).
Denken Sie daran, dass dies Codegolf ist, sodass die kürzeste Anzahl an Bytes gewinnt. Bitte benennen Sie Ihre Antwort mit dem standardmäßigen ## Sprachnamen und der Bytezahl
Edit: Doorknob wies auch darauf hin, dass dies im Wesentlichen "Faktor ein Quadrat der Form x ^ 2 + bx + c" ist. Das ist eine andere Art, über diese Herausforderung nachzudenken und sich ihr zu nähern. : D
(x + n)(x + m)gibt Ihnen x^2 + (n+m)x + (n*m), also Faktorisierung besagten Quadrats ist im Grunde gleichbedeutend mit dieser Frage (wenn ich es richtig verstehe).



x^2 + bx + c", richtig?