1. **Énoncé du problème** :
Nous avons un algorithme qui lit un entier $n$, puis affiche $n$ tant que $n > 1$, en divisant $n$ par 2 à chaque itération.
2. **Valeurs affichées pour $n=32$** :
L'algorithme affiche successivement les valeurs de $n$ avant de le diviser par 2.
Calculons :
$$
32, 16, 8, 4, 2
$$
Car après $2$, $n := 2 \div 2 = 1$, la boucle s'arrête.
3. **Fonction de complexité dans le pire des cas** :
À chaque itération, $n$ est divisé par 2.
Le nombre d'itérations est donc le nombre de fois qu'on peut diviser $n$ par 2 avant d'atteindre 1.
Formellement, le nombre d'itérations $k$ satisfait :
$$
\frac{n}{2^k} \leq 1 \implies n \leq 2^k \implies k \geq \log_2(n)
$$
Donc la fonction de complexité est proportionnelle à $\log_2(n)$.
4. **Classe de complexité selon la notation $\Theta$** :
La complexité est en $\Theta(\log n)$.
Cela signifie que le temps d'exécution croît logarithmiquement avec la taille de l'entrée $n$.
---
**Résumé final :**
- Valeurs affichées pour $n=32$ : $32, 16, 8, 4, 2$
- Fonction de complexité : $T(n) = \log_2(n)$
- Classe de complexité : $\Theta(\log n)$
Complexite Logarithmique Fbc86B
Step-by-step solutions with LaTeX - clean, fast, and student-friendly.