Ich versuche gerade diese Frage:
Ein pythagoreisches Triplett ist eine Menge von drei natürlichen Zahlen, a, b und c, für die a 2 + b 2 = c 2 .
Zum Beispiel 3 2 + 4 2 = 9 + 16 = 25 = 5 2 .
Es existiert genau ein pythagoreisches Triplett, für das a + b + c = 1000 ist. Finden Sie das Produkt abc.
Mein Code ist wie folgt, ich denke, es sollte korrekt sein, aber die Seite sagt mir, dass meine Antwort falsch ist? Kann mir bitte jemand helfen, die Fehler in meiner Logik zu sehen?
%Vor%Ich denke, du verpasst eine Reihe von Klammern. Die Einrückung führt mich zu der Annahme, dass die zwei innersten Aussagen zusammengehören, aber Sie brauchen geschweifte Klammern, damit das korrekt ist.
%Vor% Ohne die geschweiften Klammern enthält product
immer das Produkt der letzten Werte von a
, b
und c
. (333 * 500 * 167 == 27805500).
Hier sind 5 Lösungen (von langsam bis schnell):
1) Triviale Implementierung - 732857 Mikrosekunden (0,7 Sekunden)
%Vor%2) Begrenzen Sie die untere Grenze für b & amp; c (begründe die Ordnungsbeziehung) - 251091 Mikrosekunden (0,2 Sekunden)
%Vor%3) Begrenzen Sie die untere & amp; obere Grenzen für b & amp; c - 111220 Mikrosekunden (0,1 Sekunden)
%Vor%4) Grenze niedriger & amp; obere Grenzen für b und fixe Werte für c - 2625 Mikrosekunden
%Vor%5) Verwenden Sie die Formel Euclid - 213 Mikrosekunden
%Vor%Obwohl andere bereits bestimmte Korrekturen für Ihren Code vorgenommen haben, finden Sie hier einen allgemeineren Hinweis, der auch bei anderen Problemen hilfreich sein kann. Testen Sie Ihren Code auf einer einfacheren Version des Problems.
Sehen Sie zum Beispiel, ob Ihr Programm 6,8,10 als Triplett mit einer Summe von 24 findet. Mit einem kleineren Test können Sie den Code durchgehen, um zu sehen, wo es schief geht.
Sie können es auf diese Weise versuchen,
%Vor%Dies implementiert die Formel von Euklid zur Erzeugung von pythagoreischen Tripletts wie hier hier
erklärtBeachten Sie, dass wir bei dieser Methode nur Triplets machen und somit unerwünschte Wiederholungen reduzieren.
und die Ausgabe ist a
: 375 b
: 200 c
: 425 Product
ist 31875000
Tags und Links java