Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Nombres premiers jusqu'à N
Les nombres premiers sont au coeur de la cryptographie moderne : chaque fois que tu fais un achat en ligne, des nombres premiers sécurisent la transaction. C'est aussi un classique pour s'entraîner aux boucles imbriquées.
Un nombre premier n'est divisible que par 1 et par lui-même. Pour vérifier, tu n'as pas besoin de tester tous les diviseurs : il suffit d'aller jusqu'à la racine carrée (num**0.5 en Python). Si aucun diviseur n'est trouvé jusque-là, le nombre est premier.
Écris une fonction premiers(n) qui renvoie la liste de tous les nombres premiers de 2 à n inclus.
Exemple : premiers(10) renvoie [2, 3, 5, 7]
Tests (2/4)
Premiers jusqu'à 10
assert premiers(10) == [2, 3, 5, 7]
Premiers jusqu'à 2
assert premiers(2) == [2]
+ 0 tests cachés
Indices (3 disponibles)
Solution officielle
def premiers(n):
result = []
for num in range(2, n + 1):
is_prime = True
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
result.append(num)
return result