# wie setze ich die berechnung Catalanschen Zahlen um



## feux (15. Jan 2007)

Hallo!

Dachte ich mach das mit einer rekursion.. schaffs aber nicht.. bin am verzweifln..




```
public static int cat(int n){
      
      
      if (n==0) return 1;         
                
           
      return cat(n)*cat(n-1);

}
```


irgendetwas stimmt da oben nicht.. bitte um schnelle hilfe. danke!


----------



## Beni (15. Jan 2007)

Du wirst wohl eine Exception kriegen, weil du eine Endlos-Rekursion gebaut hast: du rufst "cat(n)" auf, was wiederum "cat(n)" aufruft, ..., das n bleibt unverändert, deshalb hört das nie auf. Bei einer Rekursion muss sich bei jedem Aufruf das Argument ändern.

Ich weiss nicht wie die catalanschen Zahlen berechnet werden, aber guck doch mal in deinen Formeln nach. Da steht sicherlich irgendwas wie "cat(n) = cat(n-2)*cat(n-1)" oder so, und nicht "cat(n) = cat(n)*...".


----------



## Gast (16. Jan 2007)

Also, wenn ich mir
http://de.wikipedia.org/wiki/Catalan-Zahl
ansehe, ist die rekursive Berechnung ein wenig komplexer.


----------

