Primzahlen mit Java?


13.10.2020, 01:55

public class FuerUndWenn{

public static void main(String [] args) {

int i, j;

boolean isPrime;

isPrime=true;

for (i=1; i<101; i++){

for (j = 2; j< i-1; j++) {

if ((i%j)==0){

isPrime = false;

}

}

if (isPrime==true){

system.out.println(i + "ist eine Primzahl");

}else{

isPrime=true;

}

}

}

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Wie macht man das?

nun, überleg dir doch erstmal, was die Voraussetzung für eine Primzahl ist und wie du den Test (mit einer Schleife) umsetzen kannst

Anschließend setzt du das in eine Schleife von 1 bis 100 und lässt deinen Algorithmus für EINE Primzahl über jede einzelne davon laufen

Alleskoenner11 
Fragesteller
 13.10.2020, 01:16

Eine Primzahl bedeutet ja, dass sie nur durch 1 und sich selber teilbar ist...

0
xxxcyberxxx  13.10.2020, 01:17
@Alleskoenner11

Genau. Jetzt kannst du dir folgendes überlegen:

  • Wie teste ich, ob Zahl a durch Zahl b teilbar ist
  • Wie setze ich das in einer Schleife um, um es für mehrere Zahlen zu überprüfen
  • Wie beende ich diese Schleife vorzeitig, sollte es eben doch teilbar sein
0
xxxcyberxxx  13.10.2020, 01:21
@Alleskoenner11
Stimmt das?

jup, der Rest der Division a / b muss 0 sein, damit es dadurch teilbar ist.

Ich will dir aber nicht für jeden Punkt alles nacheinander vorkauen und bestätigen müssen. Du hast einen Ansatz, also spiel doch ein bisschen damit rum

0
Alleskoenner11 
Fragesteller
 13.10.2020, 01:41
@xxxcyberxxx

Eeeeehm...ich habe es gerade glaube ich hinbekommen...zumindest spuckt er jetzt die richtigen Primzahlen zwischen 1 und 100 aus. Aber ich verstehe mein eigenes Programm nicht😅 kannst du mir mein Programm erklären? 😂😂

0
Alleskoenner11 
Fragesteller
 13.10.2020, 01:45
@DeinM8

Eeeeeh, wie fügt man nachträglich ein Bild hinzu?😅

0
Alleskoenner11 
Fragesteller
 13.10.2020, 01:57
@DeinM8

Ich habe es in die Frage geschrieben (als Ergänzung)

Kannst du es mir jetzt erklären?

0

das ist eigentlich ganz einfach ,

da primzahlen immmer kein vielfaches sind von irgendwas braucsht du dir eigentlich nur ein array mit 100 werten machen

dann löscht du jeden 2 , dann jeden 3 , dann jeden 4 , dann jeden 5 und ich glaub das brauchst du nur bis 20 machen oder sogar weniger , alles was übrig bleibt ist eine primzahl .