Complexité

Résolu/Fermé
walamefteh Messages postés 35 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 14 septembre 2009 - 8 avril 2008 à 21:05
walamefteh Messages postés 35 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 14 septembre 2009 - 8 avril 2008 à 21:14
Bonjour,
salut j'ai un exercice de complexité je veux savoir si ma réponse est juste ou non
voila l'algorithme:

function test(n:integer):integer;
var s:integer
begin
s:=0;
while(n>=1)do
begin
if(n mod 2=0) then n:=n div 2 else n:=n-1;
s:=s+1;
end
test:=s;
end;


la complexité est log(n) [ car on va diviser chaque fois n par 2]
est ce que c'est juste?
merci de m'aider
A voir également:

2 réponses

Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
8 avril 2008 à 21:12
Salutations,

Presque. L'algo effectue log2(n) divisions.

M.
0
walamefteh Messages postés 35 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 14 septembre 2009
8 avril 2008 à 21:14
merci bien bon courage
0