Heim >Backend-Entwicklung >C++ >Was ist in der Sprache C der Maximalwert eines Binomialkoeffizienten?

Was ist in der Sprache C der Maximalwert eines Binomialkoeffizienten?

WBOY
WBOYnach vorne
2023-09-12 14:17:051402Durchsuche

Was ist in der Sprache C der Maximalwert eines Binomialkoeffizienten?

Angenommen eine positive Ganzzahl „N“. Wir müssen den größten Koeffiziententerm aller Binomialkoeffizienten finden. Die Sequenz der

binomialen Koeffizienten lautet nc0, nc1, nc2,…, ncr,…, ncn -2, nCn-1, nCn

Finden Sie den Maximalwert von nCr.

<sub>n</sub>C<sub>r</sub> = n! / r! * (n - r)!

Eingabe - N=4

Ausgabe - Maximaler Koeffizient - 6

Erläuterung - 4C0= 1, 4C1 = 4, 4 C 2 = 6, 4C3 = 4, 4C4 = 1

In diesem Fall beträgt der maximale Koeffizient also 6.

Eingabe - N=5

Ausgabe - Maximaler Koeffizient - 10

Erläuterung - 5C0= 1, 5C1 = 5, 5 C 2 =10, 5C3 = 10, 5C4 = 5, 5C5 = 1

In diesem Fall beträgt der maximale Koeffizient also 10.

Die im folgenden Programm verwendete Methode ist wie folgt:

  • Wir erhalten die Eingabe von N vom Benutzer.

  • Die Funktion maxCoeff(int n) akzeptiert einen Parameter „n“ und gibt den größten Koeffizienten zurück, der bisher in C[n+1][n+1] gefunden wurde.

  • Initialisieren Sie die Min- und Max-Variablen mit 0. „min“ wird verwendet, um über das C[][]-Array zu iterieren, und „max“ wird verwendet, um den maximalen gefundenen Koeffizientenwert zu speichern.

  • Die Schleife mit i von 0 bis n wird verwendet, um das C[][]-Array zu initialisieren.

  • Jetzt iterieren Sie in einer weiteren Schleife zum kleineren von „i“ oder „n“.

  • Wenn i==j, dann C[i][j]==1. Ansonsten gilt C[i][j] = C[i-1][j-1] + C[i-1][j].

  • Jetzt iterieren Sie erneut durch das gesamte C[][] und speichern Sie den maximalen Koeffizienten in max.

  • Ergebnisse zurückgeben.

Beispiel

Demonstration

#include <stdio.h>
int maxCoeff(int n){
   int C[n+1][n+1];
   int max=0,min=0;
   // Calculate value of Binomial Coefficient in
   for (int i = 0; i <= n; i++){
      min=i<n?i:n;
      for (int j = 0; j <= min; j++){
         if (j == 0 || j == i)
            C[i][j] = 1;
         else
            C[i][j] = C[i-1][j-1] + C[i-1][j];
      }
   }
   for (int i = 0; i <= n; i++){
      max = max> C[n][i] ? max: C[n][i];
   }
   return max;
}
int main(){
   int N = 3;
   printf("Maximum Coefficient :%d", maxCoeff(N) );
   return 0;
}

Ausgabe

Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert: −

Maximum Coefficient: 3

Das obige ist der detaillierte Inhalt vonWas ist in der Sprache C der Maximalwert eines Binomialkoeffizienten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen