Python :: Aufgabe #295
2 Lösungen
Primzahlzwillinge (p2 – p1 = 2)
Anfänger - Python
von JKooP
- 13.10.2020 um 08:52 Uhr
Ein Primzahlzwilling ist ein Paar aus Primzahlen, deren Abstand 2 ist.
Beispiele:
(3, 5), (5, 7), (11, 13), …, (569, 571), …
Schreibe eine Funktion/Methode, die alle Primzahlpaare kleiner 2000 ausgibt.
Viel Spaß
Beispiele:
(3, 5), (5, 7), (11, 13), …, (569, 571), …
Schreibe eine Funktion/Methode, die alle Primzahlpaare kleiner 2000 ausgibt.
Viel Spaß
Lösungen:
def get_prim(last: int):
prim = [2]
for i in range(prim[0], last):
is_prim = True
for p in prim:
if is_prim and i % p == 0:
is_prim = False
if is_prim:
prim.append(i)
return prim
def test_295(last: int):
all_prim = get_prim(last)
for i in range(0, len(all_prim) - 2):
if all_prim[i + 1] - all_prim[i] == 2:
print("(%d, %d)" % (all_prim[i], all_prim[i + 1]))
if __name__ == '__main__':
test_295(2000)
def check_prime(number):
for index in range (2, number//2 + 1):
if number % index == 0:
return False
return True
solution = []
for index in range(2, 2001):
if check_prime(index) and check_prime(index+2):
solution.append((index, index+2))
print(solution)
