wie setze ich die berechnung Catalanschen Zahlen um

Status
Nicht offen für weitere Antworten.
F

feux

Gast
Hallo!

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



Code:
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!
 
B

Beni

Gast
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)*...".
 
Status
Nicht offen für weitere Antworten.

Oben