Thema: Primzahlen
Einzelnen Beitrag anzeigen
Ungelesen 08.04.13, 16:01   #1
h4x9r1zeee
Anfänger
 
Registriert seit: Nov 2010
Beiträge: 18
Bedankt: 5
h4x9r1zeee ist noch neu hier! | 0 Respekt Punkte
Standard Primzahlen

Hallo allerseits.

Seit kurzem versuche ich mich an der Programmierung. Dabei bin ich auf eine Aufgabe gestoßen die einen Algorithmus fordert um erkennen zu können ob die eingegebene natürliche Zahl sich um eine Primzahl handelt.

Mein Ansatz:

1.Gebe die zu prüfende Zahl ein.
2. vergleiche die zu prüfende Zahl mit 1.
2.1 Wenn sie gleich sind gebe aus: "Die 1 ist keine Primzahl". Fahre mit Schritt eins fort.
3. Speichere die wurzel aus der zu prüfenden Zahl in tmax (/n=tmax)
4. Setze t=2
5. Vergleiche t mit tmax
5.1. Ist t größer als tmax dan gebe aus "De Zahl ist eine Primzahl". Fahre mit Schrit ein fort.
6. Ist t kleiner oder gleich tmax dann teile die zu prüfende Zahl durch t (n%t)
6.1. Wenn ein rest übrigleibt dann addiere auf t +1 (t=t+1) und Fahre mit Schritt 5 weiter fort.
7. Wenn kein Rest bleibt dan gebe aus die "Zahl ist keine Primzahl" Fahre mit Schritt eins weiter fort.

Was mir natürlich selber auffällt ist das bei größeren Zahlen viel gerechnet werden muss obwohl man mit Schritt 3 schon viel an Arbeit erspart bleibt. Dennoch bein einer zu prüfenden Zahl von z.B. 15889 müsste man nach der Methode immer noch ganze 126 Möglichkeiten überprüfen (/15889=126.05). Lösung : Man teilt die gesuchte Zahl nur durch Primzahlen bis 126 was eigentlich möglich ist aber mir irgendwie Schwer fällt es in die Schrittkette einzubinden.

Über Kommentare und weitere Denkansätze würde ich mich freuen .
h4x9r1zeee ist offline   Mit Zitat antworten