Primzahl programmieren hilfe ( C++ )
Hier ist die Aufabe :
Schreiben Sie eine Methode, die überprüft, ob eine übergebene ganze Zahl (Parameter) eine Primzahl ist. Diese Funktion soll einen boolean zurückgeben: true , falls der Parameter eine Primzahl ist, false falls nicht.
weiß jemand von euch wie man herausfindet ob eine eingegebene zahl eine Primzahl ist?
Ich sitze glaube ich schon seit 2 stunden dran aber komme nicht voran und die ganzen online guides helfen mir auch nicht weiter :(
lade ein bild hoch wie das es auszusehen hat

2 Antworten
du nimmst die eingegebe Zahl und teilst sie durch x, wobei x immer kleiner als die Zahl selbst ist. Einmal lässt du dir das ergebnis als int ausgeben und einmal als double. Wenn beide Werte gleich sind hast du einen Teiler gefunden und die Zahl ist somit keine Primzahl. Das ganze packst du in ne schleife und lässt jedes mal x hochzählen. Wurde am ende die schleife noch nicht abgebrochen wird 1 in boolean gespeichert und ausgegeben ;)
wenn du eine Zahl ausser durch 1 oder sich selbst teilst und ist es keine Primzahl kommt beim Teilen irgendwo eine Ganzzahl raus.
Mal angenommen die Zahl ist 18, teile von 1 bis 18 und prüfe ob beim Teilen irgendwo kein Rest bleibt. Bei 9 z.B. kommt kein Rest raus sprich 18 ist keine Primzahl. Bei 17 kannste teilen wie du willst, überall bleibt Rest nach Komma
teile 1 bis 18: bei 1 und 18 bleibt kein rest, 18:18=1. also wenigstens 2 bis 17. besser noch 2 bis < sqrt(18) .
http://www.willemer.de/informatik/cpp/loop.htm