Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!
Python programozás
Törölt
kérdése
237
Írj egy programot mely 1-500-ig összeadja külön az összes páros és külön az összes páratlan számot majd kiszámolja az összes prímszám összegét is.
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika
Válaszok
2
VF{ Informatikus }
megoldása
print('1 és 500 közti páros számok összege:', sum(range(0, 501, 2)))
print('1 és 500 közti páratlan számok összege:', sum(range(1, 500, 2)))
print('1 és 500 közti prímszámok összege:', sum([szam for szam in range(1, 501) if szam > 1 and not [oszto for oszto in range(2, szam // 2) if not szam % oszto]]))
Ugyanaz picit szétszedve:
osszeg = {'páros': 0, 'páratlan': 0, 'prím': 0}
for szam in range(1, 500 + 1):
if szam % 2:
osszeg['páratlan'] += szam
else:
osszeg['páros'] += szam
if szam > 1:
for oszto in range(2, szam // 2):
if not szam % oszto:
break
else:
osszeg['prím'] += szam
for nev, osszeg in osszeg.items():
print('1 és 500 közti', nev, 'számok összege:', osszeg)
Módosítva: 1 éve
0
Még nem érkezett komment!
Ujházy Bence
válasza
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
even_sum = 0
odd_sum = 0
prime_sum = 0
for i in range(1, 501):
if i % 2 == 0:
even_sum += i
else:
odd_sum += i
if is_prime(i):
prime_sum += i
A program először definiál egy is_prime függvényt, ami meghatározza, hogy egy adott szám prím-e vagy sem. Ezután inicializálja a páros, páratlan és prímszámok összegét nullával, majd végigmegy egy for ciklusban a 1 és 500 közötti számokon. Ha a szám osztható 2-vel, akkor hozzáadja az összes páros szám összegéhez, különben hozzáadja az összes páratlan szám összegéhez. Ha a szám prím, akkor hozzáadja az összes prímszám összegéhez. Végül kiírja az eredményeket.