Escriure una funció producte_rapid(n,m)
que donat dos nombre enters n i
m retorni el producte
n
m.
Només podeu fer servir sumes, restes, multiplicacions per 2 i divisions (enteres) per 2.
La funció té dos nombres enters com a paràmetres.
Cal implementar l’algorisme de producte ràpid que es basa en que és:
però si és parell tenim també que:
Aquest algorisme de la Pista només és vàlid si
.
Haureu de considerar que a la funció demanada el paràmetre
m pot ser negatiu.
Un cop definida la funció, en provar-la al REPL de Python us hauria de sortir el mateix que podeu observar més avall.
>>> producte_rapid(8,7) 56 >>> producte_rapid(8,0) 0 >>> producte_rapid(0,0) 0 >>> producte_rapid(0,5674389257) 0 >>> producte_rapid(3265942354732,5674389257) 18532228211672543914124 >>> producte_rapid(487329,74392856432) 36253796332150128 >>> producte_rapid(487329,10000) 4873290000 >>> producte_rapid(487329,1) 487329 >>> producte_rapid(1,74392856432) 74392856432 >>> producte_rapid(-2345, -6789) 15920205 >>> producte_rapid(-2345, 6789) -15920205 >>> producte_rapid(2345, -6789) -15920205 >>> producte_rapid(2345, 6789) 15920205 >>>