me pueden ayudar con el algoritmo del binomio de newton
Moderador: Moderadores
me pueden ayudar con el algoritmo del binomio de newton
gracias me urge estoy atorado
Re: me pueden ayudar con el algoritmo del binomio de newton
hola amigo, mira hoy estuve un buen rato con esto, aca lo tengo en pascal, quizas te sirva!
Código: Seleccionar todo
program binomio_de_newton;
VAR a,b,n,i:longint;
{
*
* calcula n!
* }
FUNCTION factorial(n:longint):longint;
VAR temp:longint;
BEGIN
temp:=1;
i:=2;
WHILE(i<=n) DO BEGIN
temp:=temp*i;
i:=i+1;
END;
factorial:=temp;
END;{
*
* calcula r-combinatoria C(n,r)
* }
FUNCTION combinatoria(n,r:longint):longint;
VAR temp:longint;
BEGIN
temp:=(factorial(r)*factorial(n-r));
combinatoria:=factorial(n) div temp;
END;{
*
* calcula la potencia de x^n
* }
FUNCTION potencia(x,n:longint):longint;
BEGIN
potencia:=1;
FOR i:=1 TO n DO
potencia:=potencia*x;
END;{
*
* calcula el binomio de cualquier potencia n
* }
FUNCTION binewton(a,b,n:longint):longint;
VAR i,sumatoria, temp:longint;
BEGIN
sumatoria:=0;
i:=0;
WHILE(i<=n) DO BEGIN
temp:=combinatoria(n,i)*potencia(a,(n-i))*potencia(b,i);
sumatoria:=sumatoria+temp;
i:=i+1;
END;
binewton:=sumatoria;
END;{
*
* main
* }
BEGIN
writeln('Se calculara el binomio de Newton.');
writeln('Ingrese el valos de los terminos A, B y la potencia');
write('A: ');
readln(a);
write('B: ');
readln(b);
write('Potencia: ');
readln(n);
writeln();
writeln('El binomio da como resultado: ',binewton(a,b,n),'.');
writeln();
readln();
END.