El triangulo de pascal y el binomio de newton guardan una relacion muy estrecha, tanto asi, que muchas veces nos valdremos del triangulo de pascal para hacer un poco menos dificil el trabajo.
La forma de un binomio de newton es (a+b)^n // n ∈ N
Lo anterior quiere decir que n debe pertenecer a los numeros naturales.
a^n+[a^(n-1)]*b+.........+b^n
asi, los coheficientes de cada termino se calculan mediante el triangulo de pascal con la siguiente expresion.
donde n es la fila y p es la columna dentro del triangulo, abajo dejo la implementacion del algoritmo para el triangulo.
#include <cstdlib>
#include <iostream>
using namespace std;
int fac(int n)
{
if(n == 0)
return 1;
else
{
int ret=1;
for(n; n>1; n--)
{
ret=ret*n;
}
return ret;
}
}
int main(int argc, char *argv[])
{
int n,m,c;
if (argc <1 )
n=10;
else
n=atoi(argv[1]);
for (c=0;c<n; c++)
{
for (m=0; m<=c; m++)
{
cout << fac(c)/(fac(m)*fac((c-m))) << " ";
}
cout << endl;
}
}
Mas informacion en
1 comentarios:
1 2 3 4
2 4 7 11
3 7 14 25
4 11 25 50
con que conbinacion o permutacion podria realizar esto :D
Publicar un comentario