Quindi devo scrivere un programma che stampa gli undici coefficienti binomiali del decimo ordine. Mi sono imbattuto in questo codice che fa ciò di cui avevo bisogno, ma sto cercando di capire perché funzioni.Coefficiente binomiale nella spiegazione del programma C
#include<stdio.h>
int binomialCoeff(int n, int k)
{
if(k == 0)return 1;
if(n <= k) return 0;
return (n*binomialCoeff(n-1,k-1))/k;
}
int main()
{
int k;
for(k=10;k>=0;k-=1)
{
printf("%d\n", binomialCoeff(10, k));
}
ottengo il motivo per cui le int main opere di parte, io proprio non capisco come è fatto il calcolo binomialCoeff. Sono relativamente nuovo a tutto questo materiale di programmazione, quindi grazie per l'aiuto!
Cosa non capisci: la formula matematica, la ricorsione o la sintassi C? – Jeff
Non capisco come (n * binomialCoeff (n-1, k-1))/k corrisponda alla formula n!/((N-k)! K!) – Rick
Il primo utilizza la ricorsione. Ricava la versione ricorsiva di quest'ultima formula e penso che vedrai la connessione. – Jeff