problème de test Voyage 200 - Divers - Programmation
MarshPosté le 28-05-2006 à 20:36:26
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 concernant le deuxième test : le test n'a pas donné de résultat VRAI ou FAUX. Pouvez-vous m'aider? Je vous en remercie d'avance.
Marsh Posté le 28-05-2006 à 20:36:26
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 concernant le deuxième test : le test n'a pas donné de résultat VRAI ou FAUX. Pouvez-vous m'aider?
Je vous en remercie d'avance.