s3Eva_IT2004_T3 Multiplicar con campesino egipcio

Propuesta de solución en Python: py_pdf, también incluye versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# Mejoramiento I Termino 2004
# tema 3. campesino egipcio
# propuesta: edelros@espol.edu.ec

def mult(p,q):
    if q==0:
        z = 0
    if q==1:
        z = p
    r=(q%2)
    if (q>=2 and r==0):
        z = mult(2*p,int(q/2))
    if (q>=2 and r>0):
        z = mult(2*p,int(q/2))+p
    return z

# Mejoramiento I Term 2004
# tema 3. campesino egipcio. Programa
# propuesta: edelros@espol.edu.ec

import numpy
n = int(input('¿cual tabla?: '))

r = numpy.zeros(13,dtype=int)
i = 1
while (i<=12):
    r[i] = mult(n,i)
    i = i+1

i=1
while (i<=12):
    print(str(n)+' x '+str(i)+' = ',str(r[i]))
    i = i+1