Fizika, matek, informatika érettségi

Home Fizika Excel Access A weboldalról

57. Pitagoraszi számhármasok

4. szint

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:
  1. Ha az a = 15, akkor hány olyan pitagoraszi számhármas van, ahol b értéke legfeljebb 1000000?
  2. 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?
  3. 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))