Forum
Tipps
News
Menu-Icon

Drei verschiedene Varianten für Binomialkoeffizienten

Hallo,

ich muss ein Programm schreiben indem der Binomialkoeffizient berechnet und zurückgegeben wird, und das in 3 verschiedenen Variationen nämlich:

-direkt in der Form n über k unter Verwendung  einer Funktion für die Faktorielle (type=1)
-in gekürzter Form mittels geeigneter Schleifen (type=2)
-mittels einer rekursiven Funktion, die das Additionstheorem benutzt (type=3)

die gekürzte Form habe ich bereids selbst geschafft, bei den anderen beiden würde ich Hilfe benötigen.


Antworten zu Drei verschiedene Varianten für Binomialkoeffizienten:

Hallo,

erstmal möchte ich Dir oder Deinem Aufgabensteller für die Anregung danken, das Additionstheorem zu benutzen.

int binomial (int n, int k) {
  if(n==k || k==0) return 1;
  return binomial(n-1,k)+binomial(n-1,k-1);
}

Schreib bitte, falls sich damit Probleme ergeben.

Ich bin mir nicht sicher, ob "direkt in der Form n über k unter Verwendung einer Funktion für die Faktorielle" von Folgendem erfüllt wird:


long int factorial (n) {
  if(n <= 1) return 1;
  return factorial(n-1)*n;
}

int binomial (n,k) {
  return factorial(n)/factorial(n-k)/factorial(k);
}


Das produziert nämlich nur für relativ kleine n eine korrekte Ausgabe.


« Programm schreiben, Hanoi-TempelHilfe beim Programmieren »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...

Formatieren
  Das Formatieren einer Festplatte, HDD oder SSD bereitet das Laufwerk auf neue Daten vor. Dazu werden sämtliche alten Daten gelöscht, damit die...