Rappels du collège (nombres premiers jusqu’à 100, décomposition, fractions irréductibles), diviseur premier et test de primalité, crible d’Ératosthène, infinité des nombres premiers démontrée, existence et unicité de la décomposition en facteurs premiers, lemme d’Euclide, nombre et somme des diviseurs, PGCD et PPCM par les décompositions, petit théorème de Fermat.
À propos de cette page
Cinq problèmes corrigés d’arithmétique : crible et test de primalité en Python, trois balises lumineuses et leur PPCM, conditionnement de 10 500 pièces et diviseurs, plages d’entiers composés autour de n!, test de Fermat et nombre de Carmichael 561.
5 problèmes, du plus simple au plus difficile. Écris tes réponses, puis « Vérifier ».
Résoudre un problème : la méthode
Je traduis l’énoncé : des périodes qui coïncident donnent un PPCM, un partage exact donne des diviseurs, une question « premier ou pas ? » donne un test jusqu’à √n.
Je décompose chaque entier en facteurs premiers et je contrôle en remultipliant.
Je cite la propriété avec ses hypothèses : critère de la racine carrée, unicité de la décomposition, petit théorème de Fermat (p premier ne divisant pas a).
Pour un programme Python, je suis les valeurs des variables pas à pas et je relie la condition de boucle au cours.
Je réponds dans les termes de l’énoncé (une heure, un nombre de boîtes, une liste) et je vérifie sur un cas.
Problème 1 · Un crible et un test de primalité en Python★★★Moyen
On étudie deux fonctions Python. La fonction crible renvoie la liste des nombres premiers inférieurs ou égaux à un entier ; la fonction premier teste si un entier est premier par divisions successives. def crible(n): est_premier = [True] * (n + 1) est_premier[0] = False est_premier[1] = False p = 2 while p * p <= n: if est_premier[p]: for k in range(p * p, n + 1, p): est_premier[k] = False p = p + 1 return [i for i in range(n + 1) if est_premier[i]]
def premier(n): if n < 2: return False d = 2 while d * d <= n: if n % d == 0: return False d = d + 1 return True
1. Justifier mathématiquement la condition p * p <= n de la boucle while. Pour l’appel crible(200), dernière valeur de p pour laquelle le corps de la boucle est exécuté :
Rédaction attendue. Si un entier est composé, il admet un diviseur premier tel que : il est donc rayé lors du passage correspondant à ce , qui vérifie . Prolonger la boucle ne rayerait plus aucun entier. Pour : , la dernière valeur est (non premier : rien n’est rayé à ce passage).
2. Justifier que la boucle intérieure peut commencer à p * p au lieu de 2 * p. Pour , premier entier rayé par cette boucle :
Rédaction attendue. Un multiple avec admet un diviseur premier inférieur ou égal à , donc strictement inférieur à : il a déjà été rayé lors d’un passage précédent. Les seuls multiples de encore à rayer sont ceux qui sont supérieurs ou égaux à . Pour : .
3. Nombre d’éléments de la liste renvoyée par crible(200) :
C’est le nombre de nombres premiers inférieurs ou égaux à : entre et , puis entre et . La liste contient éléments, le dernier étant .
4. Nombre de divisions (calculs de n % d) effectuées par l’appel premier(1999) :
: la boucle teste , soit divisions. Aucune n’a un reste nul (par exemple , , ) : la fonction renvoie True, est premier.
5. Pour l’appel premier(2809), valeur de d au moment où la fonction renvoie False :
et est premier : le plus petit diviseur de supérieur ou égal à est . La fonction échoue de à , puis renvoie False pour . Pour un entier composé, c’est le cas le plus coûteux : son plus petit diviseur premier est exactement .
Problème 2 · Trois balises lumineuses★★★Moyen
À l’entrée d’un port, trois balises s’allument à intervalles réguliers : la première toutes les secondes, la deuxième toutes les secondes, la troisième toutes les secondes. À 20 h 00 min 00 s, les trois balises s’allument en même temps.
1. Décomposer , et en produits de facteurs premiers. Plus grand facteur premier commun aux trois :
; ; . Les facteurs communs aux trois sont et : le plus grand est .
2. Durée, en secondes, entre deux allumages simultanés :
C’est le PPCM des trois périodes : chaque facteur premier avec son exposant maximal, , soit secondes.
3. Cette durée vaut min s.
: minutes et secondes. Le deuxième allumage simultané a lieu à 20 h 25 min 40 s.
4. PGCD des trois périodes, en secondes :
Facteurs communs avec l’exposant minimal : (à cause de ) et . secondes : c’est la plus grande durée dont les trois périodes sont des multiples ; en regardant le port toutes les secondes à partir de 20 h, on ne manque aucun allumage.
5. Nombre d’allumages simultanés entre 20 h 00 et minuit, bornes comprises :
De 20 h à minuit, il s’écoule secondes. Les allumages simultanés ont lieu aux instants avec ; or , donc : allumages, le dernier à 23 h 51 min 00 s.
6. Un élève affirme que les trois balises s’allument ensemble toutes les secondes. Expliquer son erreur. Quotient de ce produit par la durée trouvée plus haut :
Rédaction attendue. est bien un multiple commun des trois périodes, mais pas le plus petit : les facteurs et , communs aux trois, y sont comptés plusieurs fois. . L’élève confond « un multiple commun » et « le plus petit multiple commun ».
Un atelier doit répartir un lot de pièces identiques dans des boîtes contenant toutes le même nombre de pièces, sans qu’il en reste. Un conditionnement est un couple (nombre de boîtes ; contenu d’une boîte).
1. Décomposer en produit de facteurs premiers. Exposant de :
, avec et , donc .
2. Nombre de conditionnements possibles :
Un conditionnement correspond à un diviseur positif de (le contenu d’une boîte), le nombre de boîtes valant . Le nombre de diviseurs est .
3. Nombre de contenus possibles qui sont des carrés parfaits :
Un diviseur est un carré parfait si et seulement si tous ses exposants sont pairs : , , , . Cela fait contenus : , , et .
4. Somme de tous les diviseurs positifs de :
. Or , et .
5. Démontrer que le produit de tous les diviseurs positifs de est égal à . Valeur de :
Rédaction attendue. Notons , l’ensemble de ses diviseurs positifs et leur produit. Quand parcourt , parcourt aussi (chaque diviseur est atteint une fois) : le produit des vaut donc aussi . En multipliant membre à membre les égalités , on obtient , et, étant positif, .
6. L’atelier impose un contenu compris entre et pièces par boîte. Nombre de conditionnements possibles :
Diviseurs de entre et : , , , , et . Les autres entiers de cet intervalle demanderaient , , ou un autre nombre premier. D’où conditionnements : boîtes de , boîtes de , de , de , de et de .
Problème 4 · De longues plages sans nombre premier★★★Difficile
Pour un entier , on note (factorielle ). On donne .
1. Montrer que est premier. Plus grand nombre premier qu’il faut tester :
: on teste les nombres premiers jusqu’à , le plus grand étant . est impair ; ; ni ni ; (reste ), (reste ), (reste ), (reste ), (reste ), (reste ). Aucun reste nul : est premier.
2. Les entiers de à s’écrivent avec . Justifier qu’ils sont tous composés. Plus grand facteur premier de :
Rédaction attendue. est divisible par , , , et ; donc est divisible par , avec : il est composé. Décompositions : , , , , .
3. Soit . Démontrer que les entiers consécutifs , , …, sont tous composés. Pour , plus petit de ces entiers :
Rédaction attendue. Soit un entier tel que . est l’un des facteurs de , donc divise , et divise . Comme , l’entier est composé. Pour : , et les entiers , et sont composés ; le plus petit est . Pour , on retrouve les entiers de à de la question précédente.
4. En déduire l’existence de entiers consécutifs tous composés. Le premier d’entre eux s’écrit : valeur de :
On applique la question précédente avec , donc : les entiers consécutifs , , …, sont tous composés. L’argument vaut pour toute longueur : l’écart entre deux nombres premiers consécutifs peut être aussi grand que l’on veut.
5. Expliquer pourquoi ce résultat ne contredit pas le théorème d’Euclide. Nombre de nombres premiers entre et (cours) :
Rédaction attendue. Le théorème d’Euclide affirme qu’au-delà de tout entier il existe encore un nombre premier ; il ne dit rien de leur répartition. Les nombres premiers sont en nombre infini mais de plus en plus espacés en moyenne, comme le montrent les effectifs par tranche de (, , , , puis entre et ) : rien n’interdit des plages arbitrairement longues sans nombre premier entre deux d’entre eux.
Problème 5 · Le test de Fermat et le nombre 561★★★Difficile
Pour un entier et un entier , on dit que passe le test de Fermat en base lorsque . D’après le petit théorème de Fermat, un nombre premier passe le test pour tout entier non divisible par . On étudie .
1. Décomposer en facteurs premiers. Plus grand facteur premier :
: , et . Donc n’est pas premier.
2. Soit un entier premier avec . Démontrer que , et . Quotient de par :
Rédaction attendue. est premier avec , donc aucun des nombres premiers , , ne divise . Le petit théorème de Fermat donne , et . Enfin .
3. En déduire que modulo , et , puis que divise . Reste de la division de par :
Rédaction attendue. , donc , et . Les nombres premiers distincts , et divisent ; si cet entier est non nul, ils figurent dans sa décomposition, donc leur produit le divise ; s’il est nul, c’est évident. Avec , premier avec : , le reste est , alors que n’est pas premier.
4. Justifier que . Reste de la division de par :
Rédaction attendue. : son reste dans la division par est , donc ne divise pas . Si divisait , son diviseur le diviserait aussi : contradiction. Donc ; ici, l’échec vient de ce que divise .
5. Seule base comprise entre et pour laquelle échoue au test de Fermat :
et sont premiers avec (impair, et sans facteur commun avec ) : d’après la question 3, passe le test en bases et . Il échoue en base (question 4). Un entier composé qui passe le test en toute base première avec lui est appelé nombre de Carmichael ; est le plus petit d’entre eux. Le test de Fermat seul ne prouve donc jamais qu’un entier est premier.
Bloqué sur ce chapitre ?
Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.