Loading [MathJax]/jax/output/HTML-CSS/jax.js

Information

Author(s) Vincent Branders, Pierre Dupont
Deadline 26/02/2025 14:00:00
Submission limit No limitation

Συνδεθείτε

[TP.02] Complexité calculatoire - Mystère

On s'intéresse à l'algorithme Mystère décrit dans le pseudo-code ci-dessous.

https://inginious.info.ucl.ac.be/course/LINFO1103/S02_1_2_mystere/Mystere.png

Question 1: [Validation] n = 3

Que renvoie l'algorithme lorsqu'il est appelé avec la valeur n=3 passée en paramètre ?

Question 2: Valeur de retour

De façon générale, que renvoie l'algorithme lorsqu'il est appelé avec un paramètre n quelconque (mais entier et strictement positif) ?

Question 3: Complexité temporelle

Quelle est la complexité temporelle de l’algorithme ? Choisissez la borne la plus simple et la plus stricte possible.

Question 4: Une solution moins complexe

Trouvez, si possible, un algorithme qui résout le même problème avec une complexité temporelle en Θ(n) ou Θ(1).

Vous êtes chargés d'implémenter la fonction suivante en Python.

Attention : seul le résultat renvoyé est évalué et non la complexité temporelle.

Note : Lorsqu'il vous est demandé d'implémenter une fonction, vous êtes invités à ne remplir que le corps de la fonction à implémenter.

def mystere(n):
    '''
    pre: `n` > 0
    post: ???
    '''