Producto de monomios en python

El siguiente código en python permite desarrollar el producto :

(X + X1) . (X + X2) . (X + X3) … (X + Xn)

en su forma polinómica:

Xn + A(n-1).X(n-1)+…+ A2.X2 + A1.x + A0

Puede ser útil con ejercicios de divisibilidad polinómica, desarrollo de binomio de Newton, etc. Por otra parte, una ligera modificación de éste permitiría usarlo como parte de un programa un poco más complejo que obtenga, por ejemplo, polinomios de interpolación de Lagrange. Este es el código:

#! /usr/bin/env python

import os

os.system("clear")

print "Este programa efectua el producto de monomios (X+X1).(X+X2).(X+X3)..., a su"
print "forma polinomica X^n + A(n-1).X^(n-1)+...+ A0\n"
             
n = int(raw_input ("Numero de monomios = ? "))

print

x = range(n)

D = range(n+1)

E = range(n)

#Introduce los valores Xn

for i in range(0,n):
	x[i]=int(raw_input("X("+str(i)+") = ? "))

D[0]=1

D[1] = x[0]

for i in range(1,n):

	for k in range(1,i+1):

		E[k] = D[k] + D[k-1]*x[i]

	D[i+1] = D[i]*x[i];

	for j in range(1,i+1):

		D[j] = E[j]

print 

n_d = n

#Imprime los coeficientes del polinomio

print "Los coeficientes del polinomio son: \n"

for i in range(n+1):

	print "A["+str(n_d)+"] =", D[i]
	n_d -=1

La ejecución interactiva en pantalla de py_monomio.py produce el resultado que se observa en la siguiente imagen:

para el desarrollo de (X + 1).(X – 2).(X + 3).(X – 4).(X + 5) = X5 + 3X4 – 23X3 – 51X2 + 94X + 120.

El código escrito para C++ puede encontrarse en:

Producto de monomios en C++ Linux

Esta entrada fue publicada en Código Python. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s