Bonsoir, je cherche deux algorithmes qui élèvent n la puissance p, un en O(n) et l'autre en 0(ln(n))

J'avais pensé à un algo récursif :

algo (int n, int p)
si p = 0 retourner 1
sinon retourner r=r*algo(p-1)

Cependant je ne pense pas que sa complexité soit la bonne.
Pourriez vous m'aider ?