Introduction
En mathématiques, un nombre premier est un nombre naturel supérieur à 1 qui n'est pas le produit de deux nombres naturels plus petits. Par exemple, 5 est premier car les seules manières de l'écrire comme un produit, 1 × 5 ou 5 × 1, impliquent 5 lui-même. Cependant, 4 n'est pas premier car c'est un produit (2 × 2) dans lequel les deux nombres sont plus petits que 4. Dans ce défi, vous devez écrire une fonction Python pour vérifier si un nombre donné est premier ou non.
Le nombre est premier
Écrivez une fonction Python appelée is_prime(n) qui prend un entier n en entrée et renvoie True si le nombre est premier, et False sinon. Pour résoudre ce problème, vous devez suivre ces règles :
- Retournez
Falsesi le nombre est0,1, un nombre négatif ou un multiple de2. - Utilisez
all()etrange()pour vérifier les nombres de3à la racine carrée du nombre donné. - Retournez
Truesi aucun nombre ne divise le nombre donné,Falsesinon.
from math import sqrt
def is_prime(n):
if n <= 1 or (n % 2 == 0 and n > 2):
return False
return all(n % i for i in range(3, int(sqrt(n)) + 1, 2))
is_prime(11) ## True
Sommaire
Dans ce défi, vous avez appris à vérifier si un nombre donné est premier ou non à l'aide de Python. Vous avez utilisé les fonctions all() et range() pour vérifier les nombres de 3 à la racine carrée du nombre donné. Vous avez également appris à retourner True si aucun nombre ne divise le nombre donné, False sinon.