Théorie des nombres

Contexte

La théorie des nombres est une branche des mathématiques qui s’occupe des propriétés des nombres entiers.

Environnement de travail

Créer un fichier ex04-theorie-nombres.py.

Selon la convention de structuration des modules, ce fichier sera structuré en quatre parties :

  1. Imports et définition des variables globales est vide car on ne fait pas appel à des packages externes, ni à des variables globales ;
  2. Définition des fonctions secondaires ;
  3. Définition de la fonction principale contenant l’appel aux fonctions secondaires ;
  4. Appel protégé de la fonction principale.

Objectifs

L’objectif est d’écrire quelques fonctions pour des problèmes relevant de la théorie des nombres.

Nombre de Fermat

Un nombre de Fermat est un nombre qui peut s’écrire sous la forme \(F_n = 2^{2^n}+1\), avec \(n\) entier naturel.

Définir une fonction fermat() :

Vérifier son fonctionnement pour quelques valeurs de \(n\).

En utilisant la fonction est_premier() écrite précédemment, définir une fonction first_non_prime_fermat() :

Quel est il ?

Nombre premier suivant

Définir une fonction next_prime() :

Utiliser cette fonction pour obtenir le premier nombre premier après \(n = 100000\).

Nombres premiers jumeaux

Deux nombres premiers jumeaux sont deux nombres premiers qui ne diffèrent que de 2.

Définir une fonction couple_prime_after() :

Utiliser cette fonction pour rechercher le premier couple de nombres premiers jumeaux après \(n = 100000\).

Nombre premier de Germain

Un nombre premier \(G\) est appelé nombre premier de Sophie Germain si \(2G + 1\) est aussi un nombre premier.

Définir une fonction germain_prime_after() :

Utiliser cette fonction pour rechercher le premier nombre premier de Sophie Germain après \(n = 100000\).