Lucas Willems

LUCAS WILLEMS

Un étudiant de 27 ans passionné par les maths et la programmation

English

Project Euler 7 : solution Python

Article

Voici un petit résumé de l'énoncé du problème 7 "10001st prime" du Project Euler (traduction complète en français ici) :

What is the 10 001st prime number ?

Compréhension du problème

Reformulons le problème : il nous faut trouver le 10001ème nombre premier. La seule solution que j'ai trouvé pour ce problème est de tester, tant que l'on n'est pas arrivé au 10001ème nombre premier, les nombres un par un pour savoir s'ils sont premiers.

Le programme

Voici donc le programme en Python pour résoudre ce programme :

def is_prime(nb):
    if nb == 1:
        return False
    if nb%2 == 0:
        return False
    for i in range(3, int(nb**0.5)+1, 2):
        if nb%i == 0:
            return False
    return True
​ nb_prime = 1 i = 1 while nb_prime != 10001: i += 2 if is_prime(i): nb_prime += 1 print(i)

Je n'ai pas d'explications spéciales à donner, si ce n'est que vous pouvez en savoir plus sur la fonction \(\text{is_prime}\) dans cet article où je répertorie et explique toutes les fonctions non spécifiques à un problème en particulier.

Le résultat

La réponse à ce problème est 104743.

Recherche

Voici les recherches relatives à cette page :

Commentaires

Qu'en pensez-vous ? Donnez moi votre avis (positif ou négatif) pour que je puisse l'améliorer.