Problem
Original anzeigen (Englisch)Finde positive ganze Zahlen a < b < c mit a² + b² = c² und a + b + c = perimeter. Gib das größte Produkt a × b × c unter allen passenden Dreiecken zurück, oder −1, falls es keine gibt. Dies verallgemeinert die Aufgabe mit festem Umfang und behandelt explizit mehrere Lösungen.
Implementiere pythagorean_product(perimeter).
Eingabe
perimeter: Die geforderte Summe der drei Seiten.
Ausgabe
Gib das größte Produkt zurück, oder −1, wenn kein Dreieck passt.
Einschränkungen
3 ≤ perimeter ≤ 100.000. Produkte passen in vorzeichenbehaftete 64-Bit-Ganzzahlen.
Beispiele
Eingabe:
perimeter = 30
Erwartete Ausgabe:
expected = 780
Eingabe:
long long perimeter = 30;
Erwartete Ausgabe:
long long expected = 780;
Eingabe:
long perimeter = 30;
Erwartete Ausgabe:
long expected = 780;
Erläuterung
Das Dreieck ist (5, 12, 13): 25 + 144 = 169 und 5 + 12 + 13 = 30. Sein Produkt ist 780.
Eingabe:
perimeter = 11
Erwartete Ausgabe:
expected = -1
Eingabe:
long long perimeter = 11;
Erwartete Ausgabe:
long long expected = -1;
Eingabe:
long perimeter = 11;
Erwartete Ausgabe:
long expected = -1;
Erläuterung
Keine aufsteigenden positiven ganzzahligen Seiten eines rechtwinkligen Dreiecks ergeben die Summe 11.
Referenzen
Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.