Exercices Algorithmes Nombre premier recursif
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Nombre premier recursif

Un nombre premier est un nombre supérieur a 1 qui n'est divisible que par 1 et par lui-meme. Par exemple 7 est premier (divisible seulement par 1 et 7), mais 9 ne l'est pas (divisible par 3).

Pour vérifier si un nombre n est premier, on peut tester tous les diviseurs potentiels de 2 jusqu'a la racine carrée de n. Si aucun ne divise n, alors n est premier.

En récursif, on peut utiliser un paramètre auxiliaire diviseur qui commence a 2 et augmente de 1 a chaque appel récursif.

Cas de base :
- si n < 2 : pas premier
- si diviseur * diviseur > n : c'est premier (on a testé tous les diviseurs possibles)
- si n est divisible par diviseur : pas premier

Écris une fonction est_premier(n, diviseur=2) qui teste si n est premier de maniere récursive.

Exemple :
est_premier(7) renvoie True
est_premier(9) renvoie False
est_premier(2) renvoie True

Tests (4/5)

7 est premier
assert est_premier(7) == True
9 n'est pas premier
assert est_premier(9) == False
2 est premier
assert est_premier(2) == True
1 pas premier
assert est_premier(1) == False

+ 0 tests cachés

Indices (3 disponibles)

solution.py