#!/usr/bin/python3 # -*- coding: utf-8 -*- # Precondicion: n debe ser mayor o igual que cero. Devuelve: b^n. def potencia(b, n): """ Precondicion: n debe ser mayor o igual que cero. Devuelve: b^n. """ # Caso base if n <= 0: return 1 # n par if n % 2 == 0: pot = potencia(b, n / 2) return pot * pot # n impar else: pot = potencia(b, (n - 1) / 2) return pot * pot * b if __name__ == "__main__": print(potencia(2, 10)) print(potencia(3, 3)) print(potencia(5, 0))