Project Euler 9 Understanding
-
03-10-2019 - |
Domanda
Questa domanda afferma:
Una terna pitagorica è un insieme di tre numeri naturali, un b c, per cui,
una 2 + b 2 = c 2
Per esempio, 3 2 + 4 2 = 9 + 16 = 25 = 5 2 .
esiste esattamente un terna pitagorica per il quale a + b + c = 1000. Trova l'abc del prodotto.
Non sono sicuro di quello che si cerca di chiedere. Stiamo cercando di trovare a2 + b2 = c2
e quindi collegare quei numeri in a + b + c = 1000
?
Soluzione
Hai bisogno di trovare il a
, b
, e c
tale che sia a2 + b2 = c2
e a + b + c = 1000
. Allora avete bisogno di emettere il a * b * c
prodotto.
Altri suggerimenti
Questi problemi sono spesso risolvibili banalmente, se si trova l'intuizione corretta. Il trucco è quello di utilizzare un po 'di algebra prima che mai scrive un ciclo. Ti do un suggerimento. Guardate la formula per generare terne pitagoriche. Si può scrivere la somma delle lunghezze dei lati in modo utile?
Come un gran numero di problemi Project Euler, è tutta una questione di trovare un insieme di numeri che soddisfano contemporaneamente più vincoli.
In questo caso, i vincoli sono:
1) a ^ 2 + b ^ 2 = c ^ 2
2) a + b + c = 1000
Nelle prime domande la soluzione può essere semplice come cicli annidati che cercano ogni possibile combinazione.