/ / Necessità di stampare i coefficienti binomiali usando il triangolo di Pascal (x + y) - c ++, sintassi

È necessario stampare i coefficienti binomiali usando il triangolo pascals (x + y) - c ++, sintassi

La domanda è questa

I coefficienti binomiali sono i fattori numerici dii prodotti in una potenza di un binomio come (x + y) ^ n. Ad esempio, (x + y) ^ 2 = x ^ 2 + 2 x y + y ^ 2 ha i coefficienti 1 2 1. I coefficienti binomiali possono essere calcolati usando il triangolo di Pascal:

Ogni nuovo livello del triangolo ha 1 "s sulestremità; i numeri interni sono le somme dei due numeri sopra di loro. Scrivi un programma che includa una funzione ricorsiva per produrre un elenco di coefficienti binomiali per la potenza n usando la tecnica del triangolo di Pascal.

Ecco il codice Ho bisogno di ottenere l'uscita "1 2 1" se l'ingresso x è 2 ma l'uscita non è corretta. Quando inserisco 2 ottengo l'output 1 1 1

#include <iostream>
using namespace std;
int pascal(int n, int x){
if ((n==0) || (n==1) || (n==x))
return 1;
else
return pascal(n-1, x-1) + pascal(n, x-1);
}
int main()
{
int x;
cout << "Input the number of which you want to print the binomial coefficients : ";
cin >> x;
int n = 0;
for (int i=0; i<x; ++i)
cout << pascal(n, x) << " ";
}

risposte:

1 per risposta № 1

modificare

if ((n==0) || (n==1) || (n==x))

a

if ((n==0) || (n==x))

e

for (int i=0; i<x; ++i)
cout << pascal(n, x) << " ";

a

for (int i=0; i<=x; ++i)
cout << pascal(i /*not "n"*/ , x) << " ";