Primzahl

  • Themenstarter Themenstarter Max86
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
M

Max86

Gast
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
 
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!
 
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
 
Danke SlaterB!

Aber ich habe immer noch keine Ahnung, wie der Aufbau aussehen könnte 🙁
 
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.");
}
 
???

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

if ( b == false){



}
 
und da if immer auf true überprüft, kannst du == true weglassen und bei false ein !b nehmen 🙂
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben