Primzahl programmieren hilfe ( C++ )

so solls ausschauen 1 = true 0 = false - (programmieren, Primzahlen, boolean)

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 ;)


newcomer  31.05.2015, 13:55
@newcomer

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

1
maximilianus7  31.05.2015, 16:08
@newcomer

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) .

0