Primzahltest im Java programmieren?

... komplette Frage anzeigen

2 Antworten

Mit % kannst du den ganzzahligen Divisionsrest zurückbekommen. Wenn du also z.B. 21 % 2 rechnest, dann bekommst du "1" zurück. (21 / 2 = 10, Rest 1).

Du müsstest also eine Schleife mit einer Variable "teiler" von 2 bis (x - 1) durchlaufen (nimm eine for-Schleife), in jedem Schritt musst du dann den Divisionsrest von x % teiler ermitteln. Wenn der irgendwann mal 0 wird, dann ist es keine Primzahl. Wenn die Schleife durchläuft, ohne dass der Divionsrest 0 wird, dann ist es eine Primzahl.

Versuch das mal in Code zu pressen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DerDecane
14.11.2015, 11:14

Okay das mit der Schleife kann ich nachvollziehen, das müsste dann ungefähr so aussehen:

for (long teiler = 2; teiler <= x; teiler++){

x % teiler;

}

Wie genau mach ich das dann mit der Ausgabe?

1

// x gegeben

bool isPrime = false;

if (x == 2) isPrime = true else

if (x > 2) {

  for (int ii = 3; i*i <= x; ii += 2) {

    if (0 == x % ii) {

      isPrime = true; break;

    }

   }

}

System.out.println(isPrime? "Primzahl" : "Keine Primzahl");

Ist CPP-Syntax, musst Du ggfs. an Java anpassen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DerDecane
14.11.2015, 11:16

Was du da verwendest haben wir noch nicht durchgenommen und dürfen es leider daher nicht verwenden :/

0