Binomialkoeffizient

Status
Nicht offen für weitere Antworten.

babuschka

Top Contributor
Hi,

ich muss in der Methode public static int bonomial(int n, int k) den Binomialkoeffizient berechnen. Ich habe folgendes geschrieben:

public static int binomial(int n, int k) {
int ergebnis ;
for(k=0; k<=n; k++){
ergebnis= fac(n)/fac(k)*fac(n-k);
System.out.println("binomial "+ergebnis);
}
return ergebnis;

}
public static void main(String[] args) {
binomial(0,8);
}

Das Programm erkennt allerdings fac() nicht und liefert kein Ergebnis.Warum passiert das? Wie soll ich richtig schreiben?

Danke euch!
 
B

Bernd82

Gast
Du musst fac erstmal definieren bzw eine Fakultäts Funktion schreiben die fac berechnet, das macht java nicht von alleine.
google sollte dir da genügend Bsp etc ausgeben
 

kirdie

Bekanntes Mitglied
Das Problem bei diesen Binomialkoeffizienten ist, dass die sehr groß werden können, ich würde also statt int lieber long oder noch besser BigInteger (oder sowas) benutzen.

Die Fakultät ist definiert als fac(n) = n*(n-1)*(n-2)*...*2*1,

z.B. fac(5) = 5*4*3*2*1 = 120.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben