Bonjour, j'aimerai créer un programme qui calcule a^n en décomposant n en base 2.
exemple :
a^11
11=2^3 + 2^1 + 2^0
donc a^11=a^(2^0)*a^(2^1)*a^(2^3)
=a*a^2*a^8
on initialise p=1, q=a et i=11
(11/2 = 5 +1)
donc p=a
q=a^2
i=5
(5/2 = 2 + 1)
p=a^3
q=q^4
i = 2
(2/2=1 +0)
p=a^3
q=a^8
i=1
p=a^11
Puissance (a,n)
Func
local p,q,i
1->p
a->q
n->i
Loop
If mod(i,2)=1
p*q->p
intdiv(i,2)->i
If i=1
p*q->p
Return p
q*q->q
EndLoop
EndFunc
Il me met un message d'erreur : le test n'a pas donné de résultat VRAI ou FAUX. Pouvez-vous m'aider?
Je vous en remercie d'avance.