Ahhoz, hogy mások kérdéseit és válaszait megtekinthesd, nem kell beregisztrálnod, azonban saját kérdés kiírásához ez szükséges!
Python programozás
Törölt
kérdése
42
Í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 hónapja
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.