Addizione
Se sai fare l’operazione incremento di 1 (il successivo) allora l’addizione…
def add(a, b):
while(b > 0):
a += 1
b -= 1
return a
Versione ricorsiva
def add(a, b):
if(b == 0):
return a
else:
a += 1
b -= 1
return add(a, b)
def add(a, b):
if(b == 0):
return a
else:
return add(a+1, b-1)
def add(a, b):
if(b == 0):
return a
else:
return 1+add(a, b-1)
Moltiplicazione
Se sai fare l’addizione allora la moltiplicazione…
Versione iterativa
def mul(a, b):
ris = 0
while(b > 0):
ris += a
b -= 1
return ris
Versione ricorsiva
def mul(a, b):
if(b == 0):
return 0
else:
return a+mul(a, b-1)
Elevamento a potenza
Se sai fare la moltiplicazione allora l’elevamento a potenza…
Versione iterativa
def pow(a, b):
ris = 1
while(b > 0):
ris *= a
b -= 1
return ris
Versione ricorsiva
def pow(a, b):
if(b == 0):
return 1
else:
return a*mul(a, b-1)