Fizika, matek, informatika érettségi

Home Fizika Excel Access A weboldalról

54. Prímek

4. szint

Feladatok:
a) 10 és 100000 között hány prímszám van?

b) 10 és 100000 között melyik a legnagyobb prímszám?

A 10 és 30 közötti prímszámok: 11; 13; 17; 19; 23; 29; ezek közül 3 olyan is van, amelyek számjegyeinek összege is prím: 11: 1+1=2; 23: 2+3=5; 29: 2+9=11.
c) 10 és 100000 között hány olyan prímszám van, amely számjegyeinek az összege is prím?

Minta:
a) 9588
b) 99991
c) 3879



primek = []
for i1 in range(10,100001):
osztok = []
for i2 in range(2,int(i1**0.5)+1): # elég csak a szám gyökéig vizsgálni az osztókat
if i1%i2 == 0:
osztok.append(i2
#print(i1,osztok)
if not osztok:
primek.append(i1)
print('a)',len(primek))
print('b)',primek[-1])

# a számjegyek összege max 6×9=54 lehet, előállítjuk a prímeket 54-ig
osszeg_primek =
for i1 in range(2,54):
osztok = []
for i2 in range(2,i1):
if i1%i2 == 0:
osztok.append(i2)
#print(i1,osztok)
if not osztok:
osszeg_primek.append(i1)
#print(osszeg_primek)
jo_primek = 0
for szam in primek:
szam_str = str(szam)
szamjegyek_osszege = sum([int(szamjegy) for szamjegy in szam_str])
if szamjegyek_osszege in osszeg_primek:
#print(szam)
jo_primek += 1
print('c)'jo_primek)