# Primzahltest Rekursiv



## NooBLearninG (30. Jan 2011)

Hey Leute,

ich wollte versuchen ein Programm zu schreiben, dass überprüft ob eine Zahl eine Primzahl ist und das ganze wollte ich ich rekursiv machen. Ist keine Hausaufgabe oder so wollte es halt für mich zur Übung machen. Ich habe allerdings bei der Ausgabe einige Fehler z.B. erkennt er die Zahl 9 als Primzahl bei meinem Programm was aber nicht der Fall ist, ich habe irgendwo glaube ich in meinem Programm ein Denkfehler komme halt nicht darauf wäre nett wenn einer mal ein Blick drauf werfen kann.


```
public static boolean primtest(int zahl,int teiler){
		if(zahl==0||zahl==1){
			return false;
		}else if(zahl==2){
			return true;
		}
		if (zahl % teiler == 0) {
			return false;
			} else if (teiler > zahl/teiler) {
			return true;
			} else {
			return primtest(zahl,teiler+2);
			}
	}

	public static void main(String[]args){

		for(int i=0;i<50;++i){
			if(primtest(i, 2))
			System.out.println(i+" ist Prim ");
		}
		
	}
```


----------



## Final_Striker (30. Jan 2011)

Du überprüfst ob die Zahl durch 2,4,6... teilbar ist.
[c](primtest(i, 2)[/c]
[c]primtest(zahl,teiler+2)[/c]

9 ist aber durch 3 teilbar.


----------



## NooBLearninG (30. Jan 2011)

LOL, danke dir hast recht statt primtest(zahl,teiler+2) muss ich primtest(zahl,teiler+1) machen dann klappst.


----------



## Gonzo17 (31. Jan 2011)

Kannst dir ja mal den Sieb des Eratosthenes anschauen. Damit lassen sich Primzahlen effektiver finden, als in Einserschritten den möglichen Teiler zu suchen.


----------



## NooBLearninG (31. Jan 2011)

Gonzo17 hat gesagt.:


> Kannst dir ja mal den Sieb des Eratosthenes anschauen. Damit lassen sich Primzahlen effektiver finden, als in Einserschritten den möglichen Teiler zu suchen.



Coole Sache Danke dir...:toll:


----------

