La spirale d'Ulam et les nombres premiers Grand Oral · mathématiques, numérique et sciences informatiques Un support de connaissances pour construire sa propre question

← Tous les textes du Grand Oral

MathsNSI

Écrivez les entiers $1$, $2$, $3$, $4$… en tournant en spirale autour de $1$, puis noircissez les nombres premiers. On s'attend à voir des points semés au hasard. Pourtant, des lignes diagonales apparaissent, sur lesquelles les nombres premiers s'alignent. C'est la spirale d'Ulam, du nom du mathématicien polonais et américain Stanisław Ulam qui l'aurait découverte en griffonnant pendant une réunion, en 1963.

Ce texte explique ce que l'on voit avec les outils de terminale : suites arithmétiques et sommes, polynômes du second degré, raisonnement par l'absurde, fonction logarithme et limites, algorithmes en Python. Il rassemble des connaissances ; à chacun d'y choisir une direction et d'y construire sa question.

Sommaire
  1. Construire la spirale
  2. Les diagonales et le second degré
  3. Le polynôme d'Euler $n^2 + n + 41$
  4. Aucun polynôme ne donne que des premiers
  5. Les nombres premiers se raréfient
  6. Le crible d'Ératosthène en Python
  7. La spirale interactive
  8. Ce que la spirale montre et ne démontre pas
  9. Des directions pour construire sa question
Construire la spirale À la main

On place $1$ au centre d'un quadrillage, $2$ à sa droite, puis on tourne dans le sens inverse des aiguilles d'une montre : $3$ au-dessus de $2$, $4$ et $5$ vers la gauche, $6$ et $7$ vers le bas, $8$, $9$ et $10$ vers la droite, et ainsi de suite. Voici le carré de $9$ cases de côté, avec les nombres premiers en foncé :

656463626160595857
663736353433323156
673817161514133055
683918543122954
694019612112853
704120789102752
714221222324252651
724344454647484950
737475767778798081

Déjà sur ce petit carré, on voit des premiers alignés en diagonale : $5$, $19$, $41$, $71$ vers le bas à gauche (en partant de $5$) ; $3$, $13$, $31$ vers le haut à droite ; $7$, $23$, $47$, $79$ vers le bas à droite. Sur un carré de $200$ cases de côté, ces alignements deviennent spectaculaires (voir la figure interactive).

Une découverte en griffonnant Photographie d'identité en noir et blanc de Stanisław Ulam, jeune, en veste et cravate, sur son badge du laboratoire de Los Alamos. Stanisław Ulam, photographie de son badge du laboratoire de Los Alamos pendant la guerre. Photo : Los Alamos National Laboratory, Wikimedia Commons, domaine public (gouvernement des États-Unis).

Stanisław Ulam (1909-1984) est né à Lwów, alors en Pologne (aujourd'hui Lviv, en Ukraine). Il quitte l'Europe en 1939 et rejoint pendant la guerre le laboratoire de Los Alamos, aux États-Unis, où il travaille à la bombe atomique, puis à la bombe H. Il y invente avec John von Neumann la méthode de Monte-Carlo, qui calcule par le hasard.

D'après le récit qu'en donne le journaliste scientifique Martin Gardner, Ulam assistait en 1963 à une réunion où il écoutait « un exposé long et très ennuyeux ». Pour passer le temps, il écrivit les entiers en spirale sur une feuille quadrillée et entoura les nombres premiers. Les diagonales le surprirent. De retour à Los Alamos, il fit tracer la spirale par l'ordinateur MANIAC II jusqu'à plusieurs dizaines de milliers, avec Myron Stein et Mark Wells ; ils publièrent leurs images en 1964. La même année, la spirale fit la couverture de la revue Scientific American (mars 1964), qui la rendit célèbre.

Le récit de la réunion vient de Gardner ; on ne connaît pas l'exposé en question. Gardner signale aussi qu'un herpétologue américain, Laurence Klauber, avait présenté dès 1932 un tableau triangulaire de nombres où les premiers s'alignaient également.

Les diagonales et le second degré À la main : les différences

Suivons la diagonale qui part de $1$ vers le haut à droite : $1$, $3$, $13$, $31$, $57$, $91$… Notons $u_0 = 1$, $u_1 = 3$, $u_2 = 13$, etc. Calculons les écarts entre deux termes consécutifs, puis les écarts entre ces écarts :

$k$$0$$1$$2$$3$$4$$5$
$u_k$$1$$3$$13$$31$$57$$91$
écarts$2 \quad 10 \quad 18 \quad 26 \quad 34$
écarts des écarts$8 \quad 8 \quad 8 \quad 8$

Les écarts forment une suite arithmétique de raison $8$ : les « différences secondes » sont constantes. On va voir que c'est la signature d'un polynôme du second degré.

Les anneaux de la spirale

Appelons anneau numéro $k$ (pour $k \geqslant 1$) le bord du carré de côté $2k+1$ centré sur $1$. Le carré de côté $2k+1$ contient tous les nombres de $1$ à $(2k+1)^2$ : le dernier nombre écrit sur l'anneau $k$ est $(2k+1)^2$, situé dans le coin en bas à droite. Sur la grille ci-dessus, on lit bien $9$, $25$, $49$, $81$ dans ce coin.

L'anneau $k$ contient donc

$$(2k+1)^2 - (2k-1)^2$$ $$= (4k^2 + 4k + 1) - (4k^2 - 4k + 1)$$ $$= 8k$$

nombres. On le parcourt en montant le long du côté droit, puis vers la gauche le long du côté haut, puis vers le bas le long du côté gauche, puis vers la droite le long du côté bas, chacun des trois derniers côtés comptant $2k$ pas. En remontant depuis le dernier nombre $(2k+1)^2$, on obtient les quatre coins :

  • coin en bas à gauche : $(2k+1)^2 - 2k = 4k^2 + 2k + 1$ ;
  • coin en haut à gauche : $(2k+1)^2 - 4k = 4k^2 + 1$ ;
  • coin en haut à droite : $(2k+1)^2 - 6k = 4k^2 - 2k + 1$.

Vérification à la main. Pour $k = 2$ : $4 \times 4 + 4 + 1 = 21$, $4 \times 4 + 1 = 17$, $4 \times 4 - 4 + 1 = 13$. Ce sont bien les coins de l'anneau $2$ sur la grille. Les quatre demi-diagonales issues de $1$ sont donc décrites par quatre polynômes du second degré en $k$.

Retrouver la formule par une somme

On peut aussi partir des écarts, comme dans le tableau. Pour la diagonale en haut à droite, $u_k = 4k^2 - 2k + 1$, donc

$$u_{k+1} - u_k = \big(4(k+1)^2 - 2(k+1) + 1\big)$$ $$- \big(4k^2 - 2k + 1\big)$$ $$= 8k + 2.$$

Inversement, si l'on sait seulement que $u_0 = 1$ et que $u_{k+1} - u_k = 8k + 2$, on retrouve $u_k$ en ajoutant les écarts :

$$u_k = u_0 + \sum_{j=0}^{k-1} (8j + 2)$$ $$= 1 + 8 \times \frac{(k-1)k}{2} + 2k$$ $$= 4k^2 - 2k + 1,$$

en utilisant la somme $0 + 1 + \dots + (k-1) = \dfrac{(k-1)k}{2}$.

Pourquoi des différences secondes constantes

Propriété. Soit $P(k) = ak^2 + bk + c$ avec $a$, $b$, $c$ réels. Les écarts $d_k = P(k+1) - P(k)$ forment une suite arithmétique de raison $2a$.

Étape 1. On développe $P(k+1)$ $= a(k^2 + 2k + 1) + b(k+1) + c$, donc

$$\begin{aligned} d_k &= P(k+1) - P(k) \\ &= 2ak + a + b. \end{aligned}$$

Étape 2. Alors $d_{k+1} - d_k$ $= 2a(k+1) + a + b - (2ak + a + b)$ $= 2a$, qui ne dépend pas de $k$. La suite $(d_k)$ est arithmétique de raison $2a$.

Réciproquement, une suite dont les écarts forment une suite arithmétique est donnée par un polynôme du second degré (c'est le calcul de somme fait plus haut). Sur la spirale, les écarts croissent de $8$ à chaque anneau, parce que chaque anneau a $8$ nombres de plus que le précédent : toute ligne diagonale, même celles qui ne passent pas par $1$, est décrite par des polynômes de la forme $4k^2 + bk + c$. Les diagonales de la spirale sont des polynômes du second degré.

Une conséquence : la parité

Sur la diagonale en haut à droite, les écarts $8k + 2$ sont tous pairs : tous les termes ont la même parité que $u_0 = 1$, ils sont tous impairs. Plus généralement, on peut montrer que chaque ligne diagonale ne contient que des nombres pairs, ou que des nombres impairs, et que ces lignes alternent : la diagonale qui passe par $4$ et $6$ ne contient que des pairs ($4$, $14$, $32$, $58$… et $6$, $20$, $42$, $72$…).

Comme tous les nombres premiers sauf $2$ sont impairs, une diagonale sur deux est vide de nombres premiers. C'est une première raison, très simple, pour laquelle l'œil voit des lignes. Nous verrons plus bas que ce n'est pas la seule.

Le polynôme d'Euler $n^2 + n + 41$ Quarante nombres premiers de suite

En 1772, Leonhard Euler signale dans une lettre un polynôme remarquable : $E(n) = n^2 + n + 41$. Calculons ses premières valeurs.

$n$$0$$1$$2$$3$$4$$5$$6$$7$
$E(n)$$41$$43$$47$$53$$61$$71$$83$$97$

Tous ces nombres sont premiers, et cela continue : $E(n)$ est premier pour tous les entiers $n$ de $0$ à $39$, soit quarante nombres premiers de suite (le dernier est $E(39) = 1\,601$). Le programme Python de la section sur le crible permet de le vérifier.

Pourquoi $n = 40$ échoue. On factorise : $E(40) = 40^2 + 40 + 41$ $= 40 \times 41 + 41$ $= 41 \times 41$. De même, $E(41) = 41^2 + 41 + 41 = 41 \times 43$. La série s'arrête donc forcément, et la raison est visible : le terme constant $41$ revient comme facteur.

Pourquoi tant de premiers : les petits diviseurs

Un nombre a d'autant plus de chances d'être premier qu'il évite les petits diviseurs $2$, $3$, $5$, $7$… Or $E(n)$ n'est jamais divisible par ces nombres-là. Montrons-le pour $2$, $3$ et $5$.

  • Par $2$. $n^2 + n = n(n+1)$ est le produit de deux entiers consécutifs, dont l'un est pair : il est pair. Donc $E(n) = n(n+1) + 41$ est impair.
  • Par $3$. On regarde le reste de $n$ dans la division par $3$. Si $n = 3q$ ou $n = 3q + 2$, l'un des deux facteurs $n$ ou $n+1$ est multiple de $3$, donc $n(n+1)$ aussi ; comme $41 = 3 \times 13 + 2$, $E(n)$ a pour reste $2$. Si $n = 3q + 1$, alors $n(n+1) = (3q+1)(3q+2)$ $= 9q^2 + 9q + 2$, donc $E(n) = 9q^2 + 9q + 43$, de reste $1$ car $43 = 3 \times 14 + 1$. Le reste n'est jamais nul.
  • Par $5$. Le même raisonnement, avec les cinq restes possibles de $n$, montre que $n(n+1)$ a pour reste $0$, $2$, $1$, $2$ ou $0$ : comme $41$ a pour reste $1$, $E(n)$ a pour reste $1$, $3$, $2$, $3$ ou $1$, jamais $0$.

Le même calcul fonctionne pour tous les nombres premiers inférieurs à $41$ : aucun ne divise jamais $E(n)$. C'est ce qui rend ce polynôme si riche en nombres premiers. Parmi les $1\,000$ premières valeurs $E(0)$, …, $E(999)$, on compte $581$ nombres premiers, alors que ces valeurs atteignent le million ; pour des entiers de cette taille pris au hasard, on n'en attendrait qu'environ $7\,\%$ (voir plus bas).

Le mathématicien allemand Georg Rabinowitsch a montré en 1913 que les seuls nombres $p$ pour lesquels $n^2 + n + p$ est premier pour tout $n$ de $0$ à $p - 2$ sont $2$, $3$, $5$, $11$, $17$ et $41$. On les appelle parfois les « nombres chanceux d'Euler » ; la démonstration dépasse largement le lycée.

Le polynôme d'Euler sur la spirale

Commençons la spirale à $41$ au lieu de $1$ : chaque case contient alors son ancien nombre augmenté de $40$. D'après les formules des coins :

  • vers le bas à gauche, on lit $4k^2 + 2k + 41$ $= (2k)^2 + 2k + 41$ $= E(2k)$ ;
  • vers le haut à droite, on lit $4k^2 - 2k + 41$ $= (2k-1)^2 + (2k-1) + 41$ $= E(2k-1)$.

(Pour la seconde égalité, on développe $(2k-1)^2 + (2k-1)$ $= 4k^2 - 4k + 1 + 2k - 1$ $= 4k^2 - 2k$.) Les deux demi-diagonales forment une seule ligne, qui contient toutes les valeurs $E(0)$, $E(1)$, $E(2)$… : sur la spirale qui commence à $41$, quarante nombres premiers consécutifs sont alignés sur la diagonale. La figure interactive permet de le voir.

Aucun polynôme ne donne que des premiers

Le polynôme d'Euler échoue à $n = 40$. Ce n'est pas un hasard : aucun polynôme non constant à coefficients entiers ne donne que des nombres premiers. Démontrons-le pour le second degré.

Propriété. Soit $P(n) = an^2 + bn + c$ avec $a$, $b$, $c$ entiers et $a > 0$. Il existe un entier naturel $n$ tel que $P(n)$ ne soit pas premier.

L'idée, sur l'exemple d'Euler. $E(0) = 41$ est premier. On a vu que $E(41)$ est divisible par $41$. En fait, $E(41k)$ l'est pour tout $k$ : $E(41k) = 41^2k^2 + 41k + 41$ $= 41(41k^2 + k + 1)$. Pour $k \geqslant 1$, le second facteur est au moins $43$ : $E(41k)$ n'est pas premier.

Étape 1 : on choisit un point de départ. Raisonnons par l'absurde et supposons que $P(n)$ est premier pour tout entier naturel $n$. En particulier, $p = P(0) = c$ est un nombre premier.

Étape 2 : les valeurs $P(kp)$ sont des multiples de $p$. Pour tout entier naturel $k$ :

$$P(kp) = ak^2p^2 + bkp + p$$ $$= p\,(ak^2p + bk + 1).$$

Étape 3 : elles deviennent trop grandes. Le facteur $ak^2p + bk + 1$ est un polynôme du second degré en $k$ de coefficient dominant $ap > 0$ : il tend vers $+\infty$ quand $k$ tend vers $+\infty$. Il existe donc un entier $k$ pour lequel ce facteur est au moins $2$.

Étape 4 : la contradiction. Pour ce $k$, $P(kp)$ est le produit de $p$ par un entier au moins égal à $2$ : il a pour diviseur $p$, qui est différent de $1$ et de lui-même. Il n'est pas premier, ce qui contredit l'hypothèse. Donc $P$ prend au moins une valeur qui n'est pas un nombre premier.

Et pour les autres degrés ? La même idée fonctionne pour un polynôme de n'importe quel degré, à coefficients entiers : tous les termes de $P(kp)$ sauf la constante contiennent le facteur $p$, donc $P(kp)$ est encore un multiple de $p = P(0)$. Si $P(0)$ n'est pas premier, on part d'une autre valeur $P(m)$ ; le calcul utilise alors le fait que $x - y$ divise $x^j - y^j$.

Ce qu'on ne sait pas. Un polynôme ne peut pas donner que des premiers, mais en donne-t-il une infinité ? Pour le premier degré, oui : il y a une infinité de premiers de la forme $an + b$ quand $a$ et $b$ n'ont pas de diviseur commun (théorème de Dirichlet, 1837). Pour le second degré, la question est ouverte. On ignore même s'il existe une infinité de nombres premiers de la forme $n^2 + 1$ (problème posé par Edmund Landau en 1912). En 1923, Godfrey Hardy et John Littlewood ont proposé une formule qui prédit combien de premiers donne un polynôme comme $n^2 + n + 41$ : elle colle remarquablement aux calculs, mais elle n'est toujours pas démontrée.

Les nombres premiers se raréfient Il y en a une infinité

Sur la spirale, les points sont de plus en plus clairsemés en s'éloignant du centre : les nombres premiers se raréfient. Mais ils ne s'arrêtent jamais.

Propriété (Euclide, vers 300 avant notre ère). Il existe une infinité de nombres premiers.

Étape 1. Supposons par l'absurde qu'il n'y en ait qu'un nombre fini : $p_1$, $p_2$, …, $p_m$. On pose $N = p_1 \times p_2 \times \dots \times p_m + 1$.

Étape 2. $N$ est supérieur ou égal à $2$, donc il a au moins un diviseur premier $q$, qui est l'un des $p_i$.

Étape 3. $q$ divise $N$ et divise le produit $p_1 \times \dots \times p_m$, donc il divise leur différence, qui vaut $1$. C'est impossible pour un nombre premier. L'hypothèse est fausse : il y a une infinité de nombres premiers.

Des trous aussi grands qu'on veut

Entre deux nombres premiers, l'écart peut être immense. Prenons un entier $n \geqslant 2$ et regardons les $n - 1$ entiers consécutifs

$$n! + 2,\ \ n! + 3,\ \ \dots,\ \ n! + n.$$

Pour tout $j$ compris entre $2$ et $n$, $j$ divise $n!$ (c'est l'un des facteurs de $1 \times 2 \times \dots \times n$) et $j$ divise $j$, donc $j$ divise $n! + j$, qui n'est pas premier. À la main, pour $n = 5$ : $5! = 120$, et $122$, $123$, $124$, $125$ sont divisibles respectivement par $2$, $3$, $4$ et $5$. Avec $n = 1\,000$, on obtient $999$ entiers consécutifs sans aucun nombre premier.

Combien de premiers jusqu'à $x$ ?

On note $\pi(x)$ le nombre de nombres premiers inférieurs ou égaux à $x$ (la lettre $\pi$ n'a ici aucun rapport avec le nombre $3{,}14\dots$). Par exemple, $\pi(10) = 4$ (ce sont $2$, $3$, $5$, $7$). Vers 1792, le jeune Carl Friedrich Gauss, en étudiant des tables, remarque que $\pi(x)$ est proche de $\dfrac{x}{\ln x}$ ; Adrien-Marie Legendre propose en 1798 une approximation voisine.

$x$$\pi(x)$$\dfrac{x}{\ln x}$rapport
$100$$25$$21{,}7$$1{,}151$
$1\,000$$168$$144{,}8$$1{,}161$
$10\,000$$1\,229$$1\,085{,}7$$1{,}132$
$100\,000$$9\,592$$8\,685{,}9$$1{,}104$
$1\,000\,000$$78\,498$$72\,382{,}4$$1{,}084$

Le rapport diminue lentement vers $1$. C'est le théorème des nombres premiers, démontré en 1896, indépendamment, par Jacques Hadamard et Charles de la Vallée Poussin :

$$\lim_{x \to +\infty} \frac{\pi(x)}{x / \ln x} = 1.$$

Attention : cela ne veut pas dire que la différence $\pi(x) - \dfrac{x}{\ln x}$ tend vers $0$ ; elle grandit au contraire (environ $6\,100$ pour un million), mais elle devient petite par rapport à $\pi(x)$.

La raréfaction démontrée par une limite

La proportion de nombres premiers parmi les entiers de $1$ à $x$ vaut $\dfrac{\pi(x)}{x}$. D'après le théorème, elle est proche de $\dfrac{1}{\ln x}$, qui tend vers $0$ puisque $\ln x$ tend vers $+\infty$. À la main : vers $100$, environ un nombre sur $\ln 100 \approx 4{,}6$ est premier ; vers un million, un sur $\ln 10^6 \approx 13{,}8$ ; vers un milliard, un sur $20{,}7$. La raréfaction est donc très lente : il faut multiplier $x$ par environ $2{,}7$ (le nombre $e$) pour que $\ln x$ augmente de $1$.

On en tire une règle approchée utile : « un entier pris au hasard près de $x$ est premier avec une probabilité d'environ $\dfrac{1}{\ln x}$ ». C'est cette règle qui permet de comparer le polynôme d'Euler au hasard : près d'un million, on attendrait environ $7\,\%$ de premiers, et $E(n)$ en donne beaucoup plus.

var opt = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var petit = {fontSize: 11, useKatex: false, parse: false, fixed: true, highlight: false}; var ax = {strokeColor: '#455a64', strokeWidth: 1, fixed: true, highlight: false, lastArrow: true}; board.create('segment', [[0, 0], [10400, 0]], ax); board.create('segment', [[0, 0], [0, 1450]], ax); var t; for (t = 2000; t <= 10000; t += 2000) { board.create('segment', [[t, 0], [t, -25]], {strokeColor: '#455a64', fixed: true, highlight: false}); board.create('text', [t - (t < 10000 ? 420 : 700), -110, String(t / 1000) + '\u00a0000'], petit); } for (t = 400; t <= 1200; t += 400) { board.create('segment', [[0, t], [-120, t]], {strokeColor: '#455a64', fixed: true, highlight: false}); board.create('text', [-1500, t, String(t)], petit); } board.create('text', [9200, -250, 'x'], opt); var N = 10000, crible = [], i, j; for (i = 0; i <= N; i++) { crible.push(i >= 2); } for (i = 2; i * i <= N; i++) { if (crible[i]) { for (j = i * i; j <= N; j += i) { crible[j] = false; } } } var X = [0], Y = [0], c = 0; for (i = 2; i <= N; i++) { if (crible[i]) { X.push(i); Y.push(c); c++; X.push(i); Y.push(c); } } X.push(N); Y.push(c); board.create('curve', [X, Y], {strokeColor: '#1e3a5f', strokeWidth: 2, highlight: false}); board.create('functiongraph', [function (x) { return x / Math.log(x); }, 3, N], {strokeColor: '#c62828', strokeWidth: 2, dash: 2, highlight: false}); board.create('text', [600, 1400, 'π(x) : nombre de premiers jusqu’à x'], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#1e3a5f'}); board.create('text', [600, 1270, 'x / ln x (en pointillés)'], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#c62828'}); Le nombre $\pi(x)$ de nombres premiers inférieurs ou égaux à $x$, pour $x$ jusqu'à $10\,000$ (en escalier, calculé par le crible), comparé à $\dfrac{x}{\ln x}$. Les deux courbes s'écartent, mais leur rapport se rapproche lentement de $1$.
Le crible d'Ératosthène en Python À la main jusqu'à $50$

Le savant grec Ératosthène (IIIe siècle avant notre ère) a donné une méthode pour trouver tous les premiers jusqu'à un entier $N$ : on écrit les entiers de $2$ à $N$ ; le premier non barré, $2$, est premier, et on barre tous ses multiples $4$, $6$, $8$… ; le suivant non barré, $3$, est premier, on barre $6$, $9$, $12$… ; puis $5$, puis $7$.

Pour $N = 50$, on peut s'arrêter après $7$ : tout ce qui reste est premier. On trouve $2$, $3$, $5$, $7$, $11$, $13$, $17$, $19$, $23$, $29$, $31$, $37$, $41$, $43$ et $47$, soit $\pi(50) = 15$.

Pourquoi s'arrêter à $\sqrt{N}$ ? Si un entier $m \leqslant N$ n'est pas premier, il s'écrit $m = ab$ avec $2 \leqslant a \leqslant b$. Alors $a^2 \leqslant ab = m \leqslant N$, donc $a \leqslant \sqrt{N}$ : $m$ a un diviseur au plus égal à $\sqrt{N}$, et il a déjà été barré. Comme $\sqrt{50} \approx 7{,}07$, les nombres $2$, $3$, $5$ et $7$ suffisent.

Le programme

Le programme suivant construit le crible, compte les premiers jusqu'à $x$ et compare à $\dfrac{x}{\ln x}$, puis teste le polynôme d'Euler. On peut le modifier et l'exécuter.

from math import log, sqrt N = 100000 premier = [True] * (N + 1) # premier[k] dira si k est premier premier[0] = False premier[1] = False for d in range(2, int(sqrt(N)) + 1): if premier[d]: # d est premier : for m in range(d * d, N + 1, d): # on barre ses multiples premier[m] = False compte = 0 for k in range(N + 1): if premier[k]: compte = compte + 1 if k in [100, 1000, 10000, 100000]: print(k, ":", compte, "premiers ; x/ln x =", round(k / log(k), 1)) def est_premier(n): # divisions jusqu'à racine de n if n < 2: return False d = 2 while d * d <= n: if n % d == 0: return False d = d + 1 return True n = 0 while est_premier(n * n + n + 41): n = n + 1 print("Euler : premier de n = 0 à", n - 1, "; pour n =", n, ":", n * n + n + 41)

Le point de vue de l'informatique. Tester un nombre de $n$ chiffres en divisant jusqu'à sa racine demande de l'ordre de $10^{n/2}$ divisions : impossible pour les nombres de plusieurs centaines de chiffres qu'utilise la cryptographie (voir le texte en préparation sur la cryptographie). Les ordinateurs utilisent d'autres tests, fondés sur des propriétés des restes, qui décident en quelques instants si un nombre est premier.

La spirale interactive

Faites varier la taille du carré pour voir apparaître les diagonales. Le choix du départ à $41$ montre la diagonale du polynôme d'Euler ; le mode « hasard » sert à comparer avec des nombres tirés au hasard (voir la section suivante). En touchant une case, on lit son nombre.

 

La spirale d'Ulam : chaque case foncée contient un nombre premier. En mode « hasard », chaque nombre impair $n$ est noirci avec une probabilité $2 / \ln n$, ce qui donne à peu près la même densité de points que les premiers. Pour un côté de $15$ ou moins, les nombres sont écrits dans les cases.

Une version animée de la construction de la spirale se trouve aussi dans l'animation de ce site.

Ce que la spirale montre et ne démontre pas Des directions pour construire sa question

Ce texte n'est pas un Grand Oral. Il rassemble des connaissances dans lesquelles chacun peut choisir une direction, la creuser et formuler sa propre question. Quelques directions possibles :

Pour l'échange avec le jury : les notions du cours à maîtriser

Le jury peut interroger sur les chapitres de spécialité mobilisés. Avec ce thème, il est utile de connaître parfaitement : les suites arithmétiques et la somme $1 + 2 + \dots + n$ ; le raisonnement par récurrence et par l'absurde ; les polynômes du second degré, leur développement et leur limite en $+\infty$ ; la fonction logarithme et ses limites ; la factorielle ; les boucles et les listes en Python.

Pour réviser ces chapitres, l'application Maths FlashBac reprend tout le cours de spécialité en cartes.

Pour aller plus loin