A pitagoraszi számhármasok három olyan számból állnak, amelyek derékszögű háromszög oldalhosszai lehetnek, vagyis teljesül rájuk az a2 + b2 = c2 összefüggés. Ilyen pl. a 3, 4, 5 számhármas, hiszen 32 + 42 = 25 és 52 is 25.
Feladatok:
Ha az a = 15, akkor hány olyan pitagoraszi számhármas van, ahol b értéke legfeljebb 1000000?
Szorozzuk össze a pitagoraszi számhármasokban szereplő három-három számot! Mennyi lesz a legnagyobb szorzat értéke, amely még 1000000-nál kevesebb?
Keress olyan pitagoraszi számhármasokat, amelyekben a számok összege 2400! Hány ilyen számhármas van? Ha a megtalált számhármasban ugyanazok a számok szerepelnek, csak más sorrendben, azokat ne tekintsd különböző találatnak!
Minta:
a) 4
b) 994560
c) 6
jok = []
for i1 in range(1,1000001): if (15**2 + i1**2)**0.5 == int((15**2 + i1**2)**0.5): jok.append(i1)
print('a)',len(set(jok)))
szorzatok = []
hatar = 10000
for i1 in range(1,101): for i2 in range(i1,hatar): if (i1**2 + i2**2)**0.5 == int((i1**2 + i2**2)**0.5): szorzat = i1*i2*int((i1**2 + i2**2)**0.5) if szorzat<1000000: szorzatok.append(szorzat)
szorzatok.sort()
print('b)',szorzatok[-1])
harmasok = []
hatar = 2400
for i1 in range(1,hatar): for i2 in range(i1,hatar): if (i1**2 + i2**2)**0.5 == int((i1**2 + i2**2)**0.5): if i1 + i2 + int((i1**2 + i2**2)**0.5) == 2400: harmasok.append([i1,i2,int((i1**2 + i2**2)**0.5)])
print('5c)',len(harmasok))