Générateur de nombres premiers

Il est impossible de ne générer que des nombres premiers au moyen d’un polynôme.
Mais il existe parfois des algorithmes qui donnent un coup de pouce.

Depuis longtemps, je m’intéresse à la découverte des nombres premiers, et j’ai mis au point le 9 janvier 2018 un algorithme intéressant.

  • Soient a, b, c, d, e des nombres premiers supérieurs à 2, donc tous impairs.
  • Alors lorsque ces nombres premiers sont inférieurs à 100, je trouve un nombre ((a*b*c)² – (d*e)²) – 1 qui a une probabilité 7 fois supérieure d’être un nombre premier par rapport à la proportion naturelle 1 / ln (((a*b*c)² – (d*e)²) – 1).
  • Je n’ai pas encore testé pour de plus grands nombres générés.

 

Exemple, je pose :

  • b = 67
  • c = 97
  • d = 13
  • e = 61
  • a = entre 3 inclus et 97 inclus, soit 25 nombres premiers à tester l’un après l’autre.

 

Sur 25 nombres générés par ce calcul, j’obtiens 7 assez grands nombres qui sont premiers !

  • ((7*67*97)² – (13*61)²) – 1 = 2 068 984 199 est premier
  • ((17*67*97)² – (13*61)²) – 1 = 12 205 864 439 est premier
  • ((19*67*97)² – (13*61)²) – 1 = 15 246 928 511 est premier
  • ((23*67*97)² – (13*61)²) – 1 = 22 342 744 679 est premier
  • ((31*67*97)² – (13*61)²) – 1 = 40 589 129 111 est premier
  • ((47*67*97)² – (13*61)²) – 1 = 93 300 906 359 est premier
  • ((89*67*97)² – (13*61)²) – 1 = 334 558 656 071 est premier

Normalement j’aurais dû avoir environ 4% de chance de tomber par hasard sur un nombre premier de 11 chiffres, mais là ça arrive à 28% avec le générateur. Bizarre, non ? Il faudrait explorer ça en profondeur.

Les artéfacts d’Ishango : probabilités

Aujourd’hui, on examine un autre cas, similaire car il concerne aussi les nombres premiers, mais cela se réfère à des artéfacts archéologiques humains vieux d’environ 20 000 ans : les os d’Ishango. Les os d’Ishango, également appelés bâtons d’Ishango, sont des artéfacts archéologiques découverts dans l’ancien Congo belge et datés de peut-être 20 000 ans.

Mais il y a controverse. En effet, des entailles présentes sur un des os d’Ishango furent interprétées, selon les auteurs, comme le calcul de nombres premiers. Mais d’autres contestent cette possibilité.

Voici ces entailles :


Au contraire des autres entailles présentant des nombres entiers ordinaire, ces entailles ci-dessus présentent un quadruplet de 4 nombres premiers consécutifs.

Le meilleur moyen d’estimer l’authenticité d’un calcul intentionnel de nombres premiers par des hommes de Cro Magnon est de comparer avec la probabilité d’obtenir un tel quadruplet de nombres premiers consécutifs au hasard.

Il existe 5 quadruplets de nombres premiers consécutifs parmi toutes les permutations possibles avec des nombres aléatoires compris entre 1 et 20 :

  • 2 3 5 7
  • 3 5 7 11
  • 5 7 11 13
  • 7 11 13 17
  • 11 13 17 19

La probabilité d’obtenir au hasard un quadruplet de nombres premiers consécutifs, dans le désordre, est de 0,83%, valeur obtenue empiriquement via un programme informatique que j’ai conçu. On constate que, même dans le désordre, la probabilité est faible. La présomption de calcul intentionnel de nombres premiers par des hommes d’il y a 20 000 ans est légitime.

Et la probabilité d’obtenir au hasard un quadruplet de nombres premiers, cette fois dans l’ordre, est plus faible que la valeur précédente. Un calcul direct à la main indique 0,0069%, et le programme informatique indique une valeur empirique de 0,00338%, soit à peu près une chance sur 29586. En-dessous du seuil de 5% (la fameuse p-value), il y a présomption que ce n’est pas un hasard.

Les calculs réalisés ici se basent sur la génération de nombres aléatoires qui peuvent être différents entre eux, mais qui peuvent aussi se répéter dans le quadruplet.

Mais si on modifie le calcul informatique de façon à ce que les quadruplets générés aléatoirement soient formés de nombres strictement différents entre eux, alors la probabilité d’obtenir un quadruplet de 4 nombres premiers différents entre eux, et consécutifs, mais dans le désordre, est entre 1,09% et 1,1%. Et environ 0,004% dans l’ordre.

Jean de Heinzelin de Braucourt, géologue belge, pensait lui-même que l’os d’Ishango est une preuve de l’histoire ancienne des mathématiques, et je considère que son hypothèse est très crédible.

Les nombres premiers étaient déjà connus il y a environ 20 000 ans, c’est ce qu’indiquent mes résultats probabilistes par programmation informatique.

 

John Philip C. Manson

 

 

 

 

 

Le test de Lucas-Lehmer

Jusqu’à présent, j’avais été généralement peu convaincu des textes francophones à propos des contenus sur Wikipedia, à quelques exceptions près. Très souvent, j’ai constaté que la Wikipedia anglophone est sensiblement plus détaillée que la Wikipedia francophone.

Par exemple, j’ai regardé http://fr.wikipedia.org/wiki/Test_de_primalit%C3%A9_de_Lucas-Lehmer_pour_les_nombres_de_Mersenne

Dans cette page, les explications de l’algorithme sont assez confuses. Cependant, j’ai trouvé un détail très intéressant dans l’article anglophone : http://en.wikipedia.org/wiki/Lucas%E2%80%93Lehmer_primality_test

Voici un pseudo-code :

// Determine if Mp = 2p − 1 is prime
Lucas–Lehmer(p)
    var s = 4
    var M = 2p − 1
    repeat p − 2 times:
        s = ((s × s) − 2) mod M
    if s = 0 return PRIME else return COMPOSITE

C’est concis, simple, et propre.
A partir de ce pseudo-code, on peut adapter celui-ci à tous les langages informatiques.

Voici le code Perl que j’ai conçu à partir du pseudo-code :

#!/usr/bin/perl
for ($p = 3; $p <= 100; $p++)
{
$s = 4;
$M = (2 ** $p) – 1;
$k = $p – 2;
for ($i = 1; $i <= $k; $i++)
{
$s = (($s * $s) – 2) % $M;
}
if ($s == 0)
{
print « $M = 2 ^ $p – 1 is prime \n »;
}
}

Cela fonctionne, mais rapidement à partir d’un nombre assez grand, c’est « arrondi » à une expression sous forme de puissances en base 10. Et cela fausse le reste des calculs…

Dont acte :

7 = 2 ^ 3 – 1 is prime
31 = 2 ^ 5 – 1 is prime
127 = 2 ^ 7 – 1 is prime
8191 = 2 ^ 13 – 1 is prime
131071 = 2 ^ 17 – 1 is prime
524287 = 2 ^ 19 – 1 is prime
2147483647 = 2 ^ 31 – 1 is prime
7.20575940379279e+16 = 2 ^ 56 – 1 is prime
2.88230376151712e+17 = 2 ^ 58 – 1 is prime
1.15292150460685e+18 = 2 ^ 60 – 1 is prime
4.61168601842739e+18 = 2 ^ 62 – 1 is prime

Ici, au-delà de 2 puissance 31 – 1, tout est faux.

Mais j’ai une arme secrète : j’ai transposé le code Perl en code Python, et Python ici prouve sa toute-puissance : on a enfin des nombres complets, chiffre par chiffre, sans limite pour les nombres entiers !

Voici le code source en langage Python :

#!/usr/bin/python
p=3
while (p <= 100000):
 s = 4
 M = (2 ** p) – 1
 k = p – 2
 i=1
 while (i <= k):
  s = ((s * s) – 2) % M;
  i=i+1
 if (s == 0):
  print « 2 ^ « , p,  » – 1 is prime »
 p=p+1

Attention cependant, il y a une indentation stricte à respecter dans le script en Python, il peut arriver qu’en collant le code ici l’identation ne soit pas apparente.

Voici les résultats du script Python :

2 ^  3  – 1 is prime
2 ^  5  – 1 is prime
2 ^  7  – 1 is prime
2 ^  13  – 1 is prime
2 ^  17  – 1 is prime
2 ^  19  – 1 is prime
2 ^  31  – 1 is prime
2 ^  61  – 1 is prime
2 ^  89  – 1 is prime
2 ^  107  – 1 is prime
2 ^  127  – 1 is prime
2 ^  521  – 1 is prime
2 ^  607  – 1 is prime
2 ^  1279  – 1 is prime
2 ^  2203  – 1 is prime
2 ^  2281  – 1 is prime
2 ^  3217  – 1 is prime
2 ^ 4253 – 1 is prime
2 ^ 4423 – 1 is prime

La série ci-dessus est 100% exacte.  😉

Plus le nombre à tester est grand, plus le temps de calcul est long…

Pour que ça aille beaucoup plus vite :

  • il faut un calcul informatique distribué, avec des milliers d’ordinateurs qui fonctionnent en commun
  • il faut un ordinateur quantique (le temps de calcul deviendrait alors linéaire et non plus exponentiel)

Je vais bientôt établir le temps de calcul en fonction de l’exposant premier des nombres de Mersenne pour un PC de bureau classique. L’article ici présent sera réédité à cette occasion.

 

Réédition de l’article le 30 décembre 2014 :

 

J’ai modifié le programme Python en y ajoutant le module time, afin d’obtenir un outil qui servira à l’horodatage de chaque ligne de résultat.

 

#!/usr/bin/python
import time
last = time.time()
p=3
while (p <= 100000):
 s = 4
 M = (2 ** p) – 1
 k = p – 2
 i=1
 while (i <= k):
  s = ((s * s) – 2) % M;
  i=i+1
 if (s == 0):
  now = time.time()
  chrono = now – last
  print « t = « , chrono, » s :: 2 ^ « , p,  » – 1 is prime »
 p=p+1

 

Voici le résultat, avec le temps écoulé depuis l’exécution du programme Python :

t =  0.0000138282775879  s :: 2 ^  3  – 1 is prime
t =  0.00019097328186  s :: 2 ^  5  – 1 is prime
t =  0.000243902206421  s :: 2 ^  7  – 1 is prime
t =  0.000355958938599  s :: 2 ^  13  – 1 is prime
t =  0.000600814819336  s :: 2 ^  17  – 1 is prime
t =  0.000720024108887  s :: 2 ^  19  – 1 is prime
t =  0.00141787528992  s :: 2 ^  31  – 1 is prime
t =  0.00507187843323  s :: 2 ^  61  – 1 is prime
t =  0.0113019943237  s :: 2 ^  89  – 1 is prime
t =  0.0172729492188  s :: 2 ^  107  – 1 is prime
t =  0.0260407924652  s :: 2 ^  127  – 1 is prime
t =  0.673669815063  s :: 2 ^  521  – 1 is prime
t =  1.09742283821  s :: 2 ^  607  – 1 is prime
t =  15.6437869072  s :: 2 ^  1279  – 1 is prime
t =  121.935223818  s :: 2 ^  2203  – 1 is prime
t =  138.3559618  s :: 2 ^  2281  – 1 is prime
t =  673.330420017  s :: 2 ^  3217  – 1 is prime
t =  1962.14330792  s :: 2 ^  4253  – 1 is prime
t =  2188.334692  s :: 2 ^  4423  – 1 is prime

 

  • A partir de ces données chronométriques, j’ai pu estimer que le temps de calcul nécessaire pour découvrir M48 qui est le 48e nombre premier de Mersenne est d’environ 300 années avec un PC de bureau ordinaire (AMD Athlon 64×2 dual core 4600+) si on lance le calcul au-delà de M47 tel que P est supérieur à 43112609 (en testant P jusqu’à 57885161) où M47 = 2^P – 1. Je ne peux donc pas me contenter d’un PC classique pour espérer découvrir de nouveaux nombres premiers de Mersenne encore inconnus à ce jour… Il faut donc au moins des centaines de microprocesseurs de PC pour pouvoir découvrir des nombres premiers de Mersenne dans des délais raisonnables.

 

En revanche, j’ai apporté une amélioration entre-temps : pour tout nombre premier de Mersenne (M), l’entier P est toujours un nombre premier impair (à l’exception de 2^2 – 1 = 3 où P est premier mais pair). J’ai donc ajouté un test de primalité de P.

#!/usr/bin/python
import time
last = time.time()
p=3
while (p <= 100000):
 d=2
 lim = int(p ** 0.5)
 produit = 1.000
 while (d <= lim):
  produit = produit * (p % d)
  if (d > 2):
   d=d+2
  if (d == 2):
   d=d+1
   if (produit != 0):
  s = 4
  M = (2 ** p) – 1
  k = p – 2
  i=1
  while (i <= k):
   s = ((s * s) – 2) % M;
   i=i+1
  if (s == 0):
   now = time.time()
   chrono = now – last
   print « t = « , chrono, » s :: 2 ^ « , p,  » – 1 is prime »
 p=p+2

 

Cette fois, avec la nouvelle amélioration du script Python, le calcul est nettement plus rapide.

Résultats :

t =  6.48498535156e-05  s :: 2 ^  3  – 1 is prime
t =  0.000236988067627  s :: 2 ^  5  – 1 is prime
t =  0.000296831130981  s :: 2 ^  7  – 1 is prime
t =  0.000382900238037  s :: 2 ^  13  – 1 is prime
t =  0.000496864318848  s :: 2 ^  17  – 1 is prime
t =  0.000589847564697  s :: 2 ^  19  – 1 is prime
t =  0.000875949859619  s :: 2 ^  31  – 1 is prime
t =  0.00200796127319  s :: 2 ^  61  – 1 is prime
t =  0.0035548210144  s :: 2 ^  89  – 1 is prime
t =  0.00507688522339  s :: 2 ^  107  – 1 is prime
t =  0.00654602050781  s :: 2 ^  127  – 1 is prime
t =  0.151687860489  s :: 2 ^  521  – 1 is prime
t =  0.218498945236  s :: 2 ^  607  – 1 is prime
t =  2.25717282295  s :: 2 ^  1279  – 1 is prime
t =  15.902233839  s :: 2 ^  2203  – 1 is prime
t =  18.2337968349  s :: 2 ^  2281  – 1 is prime
t =  62.6072969437  s :: 2 ^  3217  – 1 is prime
t =  181.48553586  s :: 2 ^  4253  – 1 is prime
t =  206.73643899  s :: 2 ^  4423  – 1 is prime

  • On n’a plus besoin d’attendre 300 années pour déterminer M48 en testant tous les P supérieurs à 43112609, mais seulement un peu plus de 20 ans environ. Mais 20 ans c’est toujours long comme délai. Le calcul distribué est ainsi toujours une nécessité.

 

© 2014 John Philip C. Manson

 

La conjecture de Marcel Pagnol sur les nombres premiers

Le 4 juin 2012 au soir, j’ai vu une page qui racontait que le célèbre et grand écrivain Marcel Pagnol avait découvert une formule qui génère des nombres premiers.

Voici ce que disait Pagnol lui-même : «Je crois avoir trouvé une formule qui permet de fabriquer des nombres premiers : c’est la petite équation suivante : x et x+2 sont deux impairs consécutifs, comme 5 et 7 ou 17 et 19, etc.
x+(x+2)+x(x+2) = premier; 5+7+5×7 = 47. C’est à dire que la somme de deux impairs consécutifs et de leur produit est un premier. Nous avons donc une formule qui nous permet de construire des nombres premiers, et un moyen très simple de confirmer l’exactitude de nos calculs. 15+17+15×17 = 287 premier.»
Source : Inédits, Marcel Pagnol, textes recueillis par Jacqueline et Frédéric Pagnol, Pastorelly 1992.   (d’après le site http://www.guichetdusavoir.org/viewtopic.php?t=19484)

Étant très intéressé par cette anecdote, j’ai voulu explorer la problématique de près.

Dans un autre site, il est raconté que la conjecture de Pagnol s’énonce ainsi : si n est un entier impair, alors n + (n+1) + n(n+1) est un nombre premier.

On peut simplifier ainsi : f(n) = n² + 3n + 1.

Alors, j’en déduis que n est de la forme 2x+1, avec x un entier positif ou nul. Ce qui donne la forme f(x) = 4x² + 10x + 5.

J’ai ensuite conçu un programme qui détermine la proportion de nombres premiers f(x) parmi tous les entiers f(x) testés.

Voici le résultat ci-dessous :

x = 0 ; f(x) = 5 est premier ; proportion de nombres premiers de Pagnol = 1
x = 1 ; f(x) = 19 est premier ; proportion de nombres premiers de Pagnol = 1
x = 2 ; f(x) = 41 est premier ; proportion de nombres premiers de Pagnol = 1
x = 3 ; f(x) = 71 est premier ; proportion de nombres premiers de Pagnol = 1
x = 4 ; f(x) = 109 est premier ; proportion de nombres premiers de Pagnol = 1
x = 7 ; f(x) = 271 est premier ; proportion de nombres premiers de Pagnol = 0.75
x = 9 ; f(x) = 419 est premier ; proportion de nombres premiers de Pagnol = 0.7
x = 11 ; f(x) = 599 est premier ; proportion de nombres premiers de Pagnol = 0.666666666666667
x = 12 ; f(x) = 701 est premier ; proportion de nombres premiers de Pagnol = 0.692307692307692
x = 13 ; f(x) = 811 est premier ; proportion de nombres premiers de Pagnol = 0.714285714285714
x = 14 ; f(x) = 929 est premier ; proportion de nombres premiers de Pagnol = 0.733333333333333
x = 18 ; f(x) = 1481 est premier ; proportion de nombres premiers de Pagnol = 0.631578947368421
x = 21 ; f(x) = 1979 est premier ; proportion de nombres premiers de Pagnol = 0.590909090909091
x = 22 ; f(x) = 2161 est premier ; proportion de nombres premiers de Pagnol = 0.608695652173913
x = 23 ; f(x) = 2351 est premier ; proportion de nombres premiers de Pagnol = 0.625
x = 24 ; f(x) = 2549 est premier ; proportion de nombres premiers de Pagnol = 0.64
x = 26 ; f(x) = 2969 est premier ; proportion de nombres premiers de Pagnol = 0.62962962962963
x = 27 ; f(x) = 3191 est premier ; proportion de nombres premiers de Pagnol = 0.642857142857143
x = 29 ; f(x) = 3659 est premier ; proportion de nombres premiers de Pagnol = 0.633333333333333
x = 31 ; f(x) = 4159 est premier ; proportion de nombres premiers de Pagnol = 0.625
x = 32 ; f(x) = 4421 est premier ; proportion de nombres premiers de Pagnol = 0.636363636363636
x = 33 ; f(x) = 4691 est premier ; proportion de nombres premiers de Pagnol = 0.647058823529412
x = 34 ; f(x) = 4969 est premier ; proportion de nombres premiers de Pagnol = 0.657142857142857
x = 37 ; f(x) = 5851 est premier ; proportion de nombres premiers de Pagnol = 0.631578947368421
x = 42 ; f(x) = 7481 est premier ; proportion de nombres premiers de Pagnol = 0.581395348837209
x = 46 ; f(x) = 8929 est premier ; proportion de nombres premiers de Pagnol = 0.553191489361702
x = 47 ; f(x) = 9311 est premier ; proportion de nombres premiers de Pagnol = 0.5625
x = 49 ; f(x) = 10099 est premier ; proportion de nombres premiers de Pagnol = 0.56
x = 56 ; f(x) = 13109 est premier ; proportion de nombres premiers de Pagnol = 0.508771929824561
x = 59 ; f(x) = 14519 est premier ; proportion de nombres premiers de Pagnol = 0.5
x = 62 ; f(x) = 16001 est premier ; proportion de nombres premiers de Pagnol = 0.492063492063492
x = 64 ; f(x) = 17029 est premier ; proportion de nombres premiers de Pagnol = 0.492307692307692
x = 66 ; f(x) = 18089 est premier ; proportion de nombres premiers de Pagnol = 0.492537313432836
x = 68 ; f(x) = 19181 est premier ; proportion de nombres premiers de Pagnol = 0.492753623188406
x = 69 ; f(x) = 19739 est premier ; proportion de nombres premiers de Pagnol = 0.5
x = 71 ; f(x) = 20879 est premier ; proportion de nombres premiers de Pagnol = 0.5
x = 73 ; f(x) = 22051 est premier ; proportion de nombres premiers de Pagnol = 0.5
x = 76 ; f(x) = 23869 est premier ; proportion de nombres premiers de Pagnol = 0.493506493506494
x = 78 ; f(x) = 25121 est premier ; proportion de nombres premiers de Pagnol = 0.493670886075949
x = 79 ; f(x) = 25759 est premier ; proportion de nombres premiers de Pagnol = 0.5
x = 81 ; f(x) = 27059 est premier ; proportion de nombres premiers de Pagnol = 0.5
x = 86 ; f(x) = 30449 est premier ; proportion de nombres premiers de Pagnol = 0.482758620689655
x = 87 ; f(x) = 31151 est premier ; proportion de nombres premiers de Pagnol = 0.488636363636364
x = 89 ; f(x) = 32579 est premier ; proportion de nombres premiers de Pagnol = 0.488888888888889
x = 91 ; f(x) = 34039 est premier ; proportion de nombres premiers de Pagnol = 0.489130434782609
x = 92 ; f(x) = 34781 est premier ; proportion de nombres premiers de Pagnol = 0.494623655913978
x = 93 ; f(x) = 35531 est premier ; proportion de nombres premiers de Pagnol = 0.5
x = 97 ; f(x) = 38611 est premier ; proportion de nombres premiers de Pagnol = 0.489795918367347
x = 102 ; f(x) = 42641 est premier ; proportion de nombres premiers de Pagnol = 0.475728155339806
x = 108 ; f(x) = 47741 est premier ; proportion de nombres premiers de Pagnol = 0.458715596330275
x = 109 ; f(x) = 48619 est premier ; proportion de nombres premiers de Pagnol = 0.463636363636364
x = 114 ; f(x) = 53129 est premier ; proportion de nombres premiers de Pagnol = 0.452173913043478
x = 117 ; f(x) = 55931 est premier ; proportion de nombres premiers de Pagnol = 0.449152542372881
x = 119 ; f(x) = 57839 est premier ; proportion de nombres premiers de Pagnol = 0.45
x = 121 ; f(x) = 59779 est premier ; proportion de nombres premiers de Pagnol = 0.450819672131148
x = 122 ; f(x) = 60761 est premier ; proportion de nombres premiers de Pagnol = 0.455284552845528
x = 123 ; f(x) = 61751 est premier ; proportion de nombres premiers de Pagnol = 0.459677419354839
x = 128 ; f(x) = 66821 est premier ; proportion de nombres premiers de Pagnol = 0.449612403100775
x = 131 ; f(x) = 69959 est premier ; proportion de nombres premiers de Pagnol = 0.446969696969697
x = 133 ; f(x) = 72091 est premier ; proportion de nombres premiers de Pagnol = 0.447761194029851
x = 143 ; f(x) = 83231 est premier ; proportion de nombres premiers de Pagnol = 0.423611111111111
x = 144 ; f(x) = 84389 est premier ; proportion de nombres premiers de Pagnol = 0.427586206896552
x = 146 ; f(x) = 86729 est premier ; proportion de nombres premiers de Pagnol = 0.428571428571429
x = 147 ; f(x) = 87911 est premier ; proportion de nombres premiers de Pagnol = 0.432432432432432
x = 148 ; f(x) = 89101 est premier ; proportion de nombres premiers de Pagnol = 0.436241610738255
x = 152 ; f(x) = 93941 est premier ; proportion de nombres premiers de Pagnol = 0.431372549019608
x = 156 ; f(x) = 98909 est premier ; proportion de nombres premiers de Pagnol = 0.426751592356688
x = 164 ; f(x) = 109229 est premier ; proportion de nombres premiers de Pagnol = 0.412121212121212
x = 174 ; f(x) = 122849 est premier ; proportion de nombres premiers de Pagnol = 0.394285714285714
x = 176 ; f(x) = 125669 est premier ; proportion de nombres premiers de Pagnol = 0.395480225988701
x = 178 ; f(x) = 128521 est premier ; proportion de nombres premiers de Pagnol = 0.396648044692737
x = 179 ; f(x) = 129959 est premier ; proportion de nombres premiers de Pagnol = 0.4
x = 181 ; f(x) = 132859 est premier ; proportion de nombres premiers de Pagnol = 0.401098901098901
x = 186 ; f(x) = 140249 est premier ; proportion de nombres premiers de Pagnol = 0.39572192513369
x = 188 ; f(x) = 143261 est premier ; proportion de nombres premiers de Pagnol = 0.396825396825397
x = 189 ; f(x) = 144779 est premier ; proportion de nombres premiers de Pagnol = 0.4
x = 192 ; f(x) = 149381 est premier ; proportion de nombres premiers de Pagnol = 0.398963730569948
x = 197 ; f(x) = 157211 est premier ; proportion de nombres premiers de Pagnol = 0.393939393939394
x = 203 ; f(x) = 166871 est premier ; proportion de nombres premiers de Pagnol = 0.387254901960784
x = 208 ; f(x) = 175141 est premier ; proportion de nombres premiers de Pagnol = 0.382775119617225
x = 209 ; f(x) = 176819 est premier ; proportion de nombres premiers de Pagnol = 0.385714285714286
x = 213 ; f(x) = 183611 est premier ; proportion de nombres premiers de Pagnol = 0.383177570093458
x = 223 ; f(x) = 201151 est premier ; proportion de nombres premiers de Pagnol = 0.370535714285714
x = 224 ; f(x) = 202949 est premier ; proportion de nombres premiers de Pagnol = 0.373333333333333
x = 227 ; f(x) = 208391 est premier ; proportion de nombres premiers de Pagnol = 0.37280701754386
x = 233 ; f(x) = 219491 est premier ; proportion de nombres premiers de Pagnol = 0.367521367521368
x = 236 ; f(x) = 225149 est premier ; proportion de nombres premiers de Pagnol = 0.367088607594937
x = 238 ; f(x) = 228961 est premier ; proportion de nombres premiers de Pagnol = 0.368200836820084
x = 242 ; f(x) = 236681 est premier ; proportion de nombres premiers de Pagnol = 0.366255144032922
x = 244 ; f(x) = 240589 est premier ; proportion de nombres premiers de Pagnol = 0.36734693877551
x = 246 ; f(x) = 244529 est premier ; proportion de nombres premiers de Pagnol = 0.368421052631579
x = 247 ; f(x) = 246511 est premier ; proportion de nombres premiers de Pagnol = 0.370967741935484
x = 249 ; f(x) = 250499 est premier ; proportion de nombres premiers de Pagnol = 0.372
x = 251 ; f(x) = 254519 est premier ; proportion de nombres premiers de Pagnol = 0.373015873015873
x = 252 ; f(x) = 256541 est premier ; proportion de nombres premiers de Pagnol = 0.375494071146245
x = 254 ; f(x) = 260609 est premier ; proportion de nombres premiers de Pagnol = 0.376470588235294
x = 258 ; f(x) = 268841 est premier ; proportion de nombres premiers de Pagnol = 0.374517374517374
x = 263 ; f(x) = 279311 est premier ; proportion de nombres premiers de Pagnol = 0.371212121212121
x = 264 ; f(x) = 281429 est premier ; proportion de nombres premiers de Pagnol = 0.373584905660377
x = 271 ; f(x) = 296479 est premier ; proportion de nombres premiers de Pagnol = 0.367647058823529
x = 273 ; f(x) = 300851 est premier ; proportion de nombres premiers de Pagnol = 0.368613138686131
x = 274 ; f(x) = 303049 est premier ; proportion de nombres premiers de Pagnol = 0.370909090909091
x = 279 ; f(x) = 314159 est premier ; proportion de nombres premiers de Pagnol = 0.367857142857143
x = 288 ; f(x) = 334661 est premier ; proportion de nombres premiers de Pagnol = 0.359861591695502
x = 293 ; f(x) = 346331 est premier ; proportion de nombres premiers de Pagnol = 0.357142857142857
x = 296 ; f(x) = 353429 est premier ; proportion de nombres premiers de Pagnol = 0.356902356902357
x = 297 ; f(x) = 355811 est premier ; proportion de nombres premiers de Pagnol = 0.359060402684564
x = 298 ; f(x) = 358201 est premier ; proportion de nombres premiers de Pagnol = 0.361204013377926
x = 301 ; f(x) = 365419 est premier ; proportion de nombres premiers de Pagnol = 0.360927152317881
x = 302 ; f(x) = 367841 est premier ; proportion de nombres premiers de Pagnol = 0.363036303630363
x = 304 ; f(x) = 372709 est premier ; proportion de nombres premiers de Pagnol = 0.363934426229508
x = 307 ; f(x) = 380071 est premier ; proportion de nombres premiers de Pagnol = 0.363636363636364
x = 308 ; f(x) = 382541 est premier ; proportion de nombres premiers de Pagnol = 0.365695792880259
x = 311 ; f(x) = 389999 est premier ; proportion de nombres premiers de Pagnol = 0.365384615384615
x = 319 ; f(x) = 410239 est premier ; proportion de nombres premiers de Pagnol = 0.359375
x = 321 ; f(x) = 415379 est premier ; proportion de nombres premiers de Pagnol = 0.360248447204969
x = 323 ; f(x) = 420551 est premier ; proportion de nombres premiers de Pagnol = 0.361111111111111
x = 326 ; f(x) = 428369 est premier ; proportion de nombres premiers de Pagnol = 0.36085626911315
x = 334 ; f(x) = 449569 est premier ; proportion de nombres premiers de Pagnol = 0.355223880597015
x = 337 ; f(x) = 457651 est premier ; proportion de nombres premiers de Pagnol = 0.355029585798817
x = 359 ; f(x) = 519119 est premier ; proportion de nombres premiers de Pagnol = 0.336111111111111
x = 363 ; f(x) = 530711 est premier ; proportion de nombres premiers de Pagnol = 0.335164835164835

  • Je remarque que pour x > 363, il n’existerait aucun nombre premier f(x). Ainsi, la formule de Pagnol produit une quantité finie de nombres premiers. Le programme continue le calcul jusqu’à x = 100000, mais l’écran semble ne laisser qu’un dernier résultat qui est x = 363, le nombre f(x) = 530711 étant a priori le plus grand nombre premier de la formule de Pagnol.
  • Il existe 122 nombres premiers de la forme 4x²+10x+5.
  • La proportion globale de nombres premiers f(x) par rapport à la totalité des x testés est de 1/3 environ, c’est-à-dire que pour la forme 4x² + 10x + 5, il y a une chance sur trois que cela soit un nombre premier, et cela ne vaut que dans l’intervalle 0 ≤ x ≤ 363.
  • Je constate que les nombres premiers de Pagnol sont répertoriés ici : http://oeis.org/A155737

* © 2012 John Philip C. Manson