Implementazioni di algoritmi/Elevazione a potenza: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m cambio avanzamento a 100%
Nessun oggetto della modifica
Riga 1:
{{Implementazioni di algoritmi}}
In matematica l''''elevamento a potenza''' è un' operazione che associa ad una coppia di numeri ''naturali'' ''a'' e ''n'' – detti rispettivamente base ed esponente – il numero dato dalla moltiplicazione di ''a'' per sé stesso iterata per ''n'' volte se ''n'' è maggiore di 1, restituisce ''a'' stesso se ''n'' è uguale a 1 e restituisce 1 se ''n'' è uguale a 0. Questa funzione non è definita se la base e l'esponente valgono entrambi 0.
 
===Implementazione in [[C]]/[[C++]] – versione ricorsiva===
Riga 47:
end;
end;
</source>
 
=== Implementazione in [[Python]] – ricorsiva ===
La funzione presuppone che l'esponente sia un numero naturale.
<source lang=python>
def potr(base, esp):
if base==0:
if esp==0:
return "err"
else:
return 0
else:
return _potr(base, esp)
 
def _potr(base, esp):
if esp == 0:
return 1
return base*_potr(base, esp-1)
</source>
 
=== Implementazione in [[Python]] – non ricorsiva ===
La funzione presuppone che l'esponente sia un numero naturale.
<source lang=python>
def pot(base, esp):
if base == 0:
if esp == 0:
return "err"
else:
return 0
else:
result = 1
while esp:
result *= base
esp -= 1
return result
</source>