miércoles, 16 de septiembre de 2015

PRACTICA 5 SUMA EREW


#CRISANTO TIBURCIO YOVANA
#PRACTICA 5
#SUMA EREW 
#DEFINICIÓN DE FUNCIONES
import threading
import math

def hilo(i,j):
    if ((2*j)%(2**i)==0):
        a[int(2*j)]=a[int(2*j)]+a[int((2*j)-2**(i-1))]

#PROGRAMA PRINCIPAL
a=[0,5,2,10,1,8,12,7,3]
print "¿Deseas modificar el vector original?"
print "Si= 1, No= 2"
b=int(raw_input("Ingresa opcion: "))
if(b==1):
    for i in range (1,9):
        a[i]=int(raw_input("Ingresa numero: "))
    print "El vector modificado es:"
    print a
else:
    print "El vector original es:"
    print a
n=len(a)
lg=int(math.log(n,2))
i=1
while(i<=lg):
    j=1
    while(j<=(n/2)):
        t=threading.Thread(target=hilo, args=(i,j, ))
        t.start()
        j=j+1
    i=i+1
print a

No hay comentarios:

Publicar un comentario