# Primzahl



## Max86 (25. Nov 2006)

Hallo zusammen!

Ich brauche einen guten Rat! 
Ich muss für die Uni ein Programm "Primzahl" erstellen, habe allerdings noch Probleme, dies in der Java-Sprache richtig zu formulieren.

Hier die Aufgabestellung:
*
Schreiben Sie ein Programm Primzahl, das überprüft, ob eine vom Benutzer eingegebene
Zahl n eine Primzahl ist. Gehen Sie dazu wie folgt vor: Prüfen Sie beginnend mit der
Zahl 2 für jede Zahl k, die als Teiler von n in Frage kommt, ob n durch k teilbar ist (Hinweis:
Modulo-Operator). Wie man sich leicht überlegen kann, kommen als Teiler der Zahl
n nur Zahlen in Frage, deren Quadrat kleiner oder gleich n ist.
Wenn sich n durch eine Zahl k teilen lässt, geben Sie aus, dass n keine Primzahl ist.
Wenn n durch keine der Zahlen geteilt werden konnte, geben Sie aus, dass n eine Primzahl
ist.
Hinweis: Zum vorzeitigen Beenden einer Schleife können Sie die Anweisung break verwenden.*

Vielen Dank für Eure Hilfe!

Grüße, Max


----------



## The_S (25. Nov 2006)

Und du willst jetzt das Programm von uns programmiert bekommen ... :roll:


----------



## Guest (25. Nov 2006)

Nein, keine Angst, also wie gesagt - ein guter Rat würde reichen!

Ich tue mich noch schwer, die If-Schleife richtig zu definieren.
Das Programm soll prüfen, ob eine vom Benutzer eingegebene Zahl n 
durch den Teiler k (int k=2; k<=n-1; k++) teilbar ist.
Für den Fall, dass keine Primzahl vorliegt, kann man die Schleife beenden mit der
break-Anweisung und ausgeben, dass die Zahl n keine Primzahl ist.
ABER: Falls nun doch eine Primzahl vorliegt, frage ich mich, wie ich man eine Bedingung aufstellen kann, die doch ungefähr so aussehen muss
" falls n % k für alle k von 2 bis n-1 > 0 "  ???
Da hakts 

Vielen Dank schon einmal!


----------



## SlaterB (25. Nov 2006)

die if-Schleife wieder 

nene, ne for-Schleife brauchst du für die Zahlen,
und ein boolean um die Ergebnisse festzuhalten,
wenn du einen Teiler findest machst du teiler = true;
und beendest die Schleife,

ansonsten wird sie ganz normal bis zum Ende durchlaufen,

wenn danach die gemerkte Variable auf true steht ist es keine Primzahl,
ansonsten ist es eine Primzahl


----------



## Max86 (25. Nov 2006)

Danke SlaterB!

Aber ich habe immer noch keine Ahnung, wie der Aufbau aussehen könnte


----------



## Gast (25. Nov 2006)

Out.print ("Bitte geben Sie eine Zahl ein:  ");
		int n = In.readInt ();
		boolean b;

		for (int k = 2; k <= n-1; k++)
		{
			b = n % k > 0;
			if (b = false)
			{
			Out.print ("Die eingegebene Zahl " + n + " ist keine Primzahl." );
			break;
			}
		}	
		if (b = true)
		{
		Out.print ("Die eingegebene Zahl " + n + " ist keine Primzahl.");
		}


----------



## Gast (25. Nov 2006)

also wie hier oben aufgeführt klappts schon mal net


----------



## ZuPerMan (25. Nov 2006)

???

In der If Bedingung steht eine Zuweisung !!!!!! Wie der Name schon
sagt, wird dort ein Zustand überprüft !!!!

if ( b == false){



}


----------



## Gelöschtes Mitglied 5909 (25. Nov 2006)

und da if immer auf true überprüft, kannst du == true weglassen und bei false ein !b nehmen


----------

