Was haltet ihr von diesem Programm (Python)?

6 Antworten

Dann gib mal 121 ein, welches 11*11 ist...

Nein, das Programm ist nicht zuverlässig. von den unendlich vielen Primzahlen werden nur 4 als Teiler geprüft!

Anonym2024 
Fragesteller
 25.01.2022, 12:48

Dann ist es doch unmöglich so ein Programm zu schreiben, wenn es unendlich viele Teiler gibt 🤔

0
gfntom  25.01.2022, 12:50
@Anonym2024

Jede endliche Zahl hat eine endliche Anzahl von Teilern. und jede endliche Zahl muss nur mit den Prifaktoren geprüft werden, welche kleiner sind, als die Zahl (bzw. kleiner oder gleich der Wurzel der Zahl)

0

Gib mal 121 ein (:-(((

Das Programm ist für Primzahlen <100 geeignet

Es müßte erweiter werden mit den nachfolgenden Primzahlen 11, 13, 17, ...


elif x/11 == int(x/11):
    print(" Das ist keine Primzahl")
elif x/13 == int(x/13):
    print(" Das ist keine Primzahl")
.....

angenommen x ist eine Primzahl, dann musst du jede Zahl von 1 bis einschließlich x-1 checken, ob x mit der jetzigen Zahl teilbar ist.

so würde ich es machen

Pseudocode:

x = 121
bool_primzahl = False

for i in range(1,121):
    If x%i == 0:
        bool_primzahl = True
        Break

print(bool_primzahl)
    
Woher ich das weiß:eigene Erfahrung – Mein Hobby ist PC!
cg1967  25.01.2022, 14:32
dann musst du jede Zahl von 1 bis einschließlich x-1 checken

Es genügt, mit jeder ungeraden Zahl bis floor(sqrt(x)) zu testen.

0