Python :: Aufgabe #295

2 Lösungen Lösungen öffentlich

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ß

Lösungen:

vote_ok
von Marty3000 (680 Punkte) - 04.11.2020 um 09:10 Uhr
Quellcode ausblenden Python-Code
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)
vote_ok
von Klaus (1960 Punkte) - 11.12.2020 um 10:53 Uhr
Quellcode ausblenden Python-Code
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)
1801140

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.