Exponentiation rapide en Pascal
Page 1 sur 1
Exponentiation rapide en Pascal
Exponentiation rapide en Pascal :
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Fonction qui calcule x^e :
Algorithme :
0) DEF FN exprapide (x : réel ;n : entier) : réel
1) p ← 1
2) tanque n>0 faire
si (n mod 2 <> 0) alors
p ← (p * x)
e ← e -1
finsi
x←(x*x)
e←e div 2
fintantque
3) exprapide← p
4) Fin
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Fonction qui calcule x^e :
Algorithme :
0) DEF FN exprapide (x : réel ;n : entier) : réel
1) p ← 1
2) tanque n>0 faire
si (n mod 2 <> 0) alors
p ← (p * x)
e ← e -1
finsi
x←(x*x)
e←e div 2
fintantque
3) exprapide← p
4) Fin
Re: Exponentiation rapide en Pascal
Traduction en Pascal :
function puiss(x:real;e:longint):real;
begin
p := 1;
while e>0 do
begin
if (e mod 2 <> 0)then
begin
p := (p * x);
e:=e -1;
end;
x:=(x*x) ;
e:=e div 2;
end;
puiss:= p;
end;
function puiss(x:real;e:longint):real;
begin
p := 1;
while e>0 do
begin
if (e mod 2 <> 0)then
begin
p := (p * x);
e:=e -1;
end;
x:=(x*x) ;
e:=e div 2;
end;
puiss:= p;
end;
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|