Hallo ihr lieben,
ich muss ein kleines Programm schreiben das mir alle Primzahlen kleiner als dem eingegebenen Wert liefert. Ich hab das wie folgt getan, jedoch erhalte ich immer nur die erste und dann bricht er einfach ab. Bitte helft mir!!!
das ganze funktioniert. Er macht das mit 15,14 aber wenn er dann die erste Primzahl 13 entdeckt bricht er ab. WIESO ? da ich ja haben will das er mir alle < Eingabe ausgibt.
Ich hoffe ihr könnt mir helfen. DANKE
ich muss ein kleines Programm schreiben das mir alle Primzahlen kleiner als dem eingegebenen Wert liefert. Ich hab das wie folgt getan, jedoch erhalte ich immer nur die erste und dann bricht er einfach ab. Bitte helft mir!!!
Code:
public class PrimzahlenMitSchleifen {
public static void main(String[] args) {
println("Please enter a number!");
/*Startwert von b auf 2 denn alle Zahlen >1 sollen durch die
Eingabe n geteilt werden um zu sehen ob es sich um eine
Primzahl handelt oder nicht*/
int b = 2;
//Eingabe
int n = readInt();
/*so lange b < als der Eingabe ist und n > 1 ist
Beispiel: n = 15 -> 15:2 nicht gerade ? dann 15:3
usw bis b auf 14 und damit 15:14 ist das ergbnis immer
ungerade handelt es sich um eine Primzahl, dann n--
und das gleiche mit 14
*/
while((b<n) && (n>1)){
int c = n % b;
if(c!=0){
b++;
}else{
n--;
// b wieder auf 2 setzen
b = 2;
}
}
println(n+" ist eine Primzahl");
}
}
das ganze funktioniert. Er macht das mit 15,14 aber wenn er dann die erste Primzahl 13 entdeckt bricht er ab. WIESO ? da ich ja haben will das er mir alle < Eingabe ausgibt.
Ich hoffe ihr könnt mir helfen. DANKE