Problem 9 "Spezielle Pitagolas-Nummer"
Eine Pitagolas-Zahl (eine natürliche Zahl, die den Satz von Pitagolas erfüllt) ist eine Menge von Zahlen, die die folgende Gleichung mit a <b <c erfüllen.
a^2 + b^2 = c^2
Zum Beispiel
3^2 + 4^2 = 9 + 16 = 25 = 5^2
. Es gibt nur ein Pitagoras-Triplett mit a + b + c = 1000. Berechnen Sie das Produkt abc von diesen.
Python
n = 1000
seq = range(1, n+1)
def is_pythagorean(a, b, c):
return a**2 + b**2 == c**2
pythagorean = None
for a in seq:
if(pythagorean): break
for b in range(a+1, n+1):
c = n - b - a
if(c > b and is_pythagorean(a, b, c)):
pythagorean = (a, b, c)
break
result = reduce(lambda x,y: x*y, pythagorean)
print result
print result == 31875000
print pythagorean
Ergebnis
31875000
True
(200, 375, 425)
Recommended Posts