ddggbedr
Messages postés6Date d'inscriptionmardi 21 novembre 2017StatutMembreDernière intervention21 novembre 2017
-
21 nov. 2017 à 11:37
pgl10
Messages postés380Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention29 octobre 2023
-
13 mars 2019 à 17:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
pgl10
Messages postés380Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention29 octobre 202311 Modifié le 13 mars 2019 à 17:39
Bonjour,
Pour vérifier la primalité d'un int (4 octets) on peut utiliser :
bool isprem(int n) {
unsigned int t[]={4,2,4,2,4,6,2,6};
if(n < 2) return false;
if(n%2 == 0) return n==2;
if(n%3 == 0) return n==3;
if(n%5 == 0) return n==5;
unsigned int m = n;
unsigned int s = 7;
for(unsigned int i=7; i*i<=m; i=i+t[s]) {
if(m%i==0) return m==i;
if(++s == 8) s=0;
}
return true;
}
pgl10
Messages postés380Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention29 octobre 202311 4 mars 2019 à 20:28
Bonjour,
Le 100 000 000-ième nombre premier est : 2 038 074 743
Ce nombre tient dans un int sur 4 octets (max : 2 147 483 647).
Pour nnp = 10 000 000 le temps de calcul est d'environ 12 secondes.
Et pour nnp = 100 000 000 il est d'environ 5 minutes et 30 secondes.
Modifié le 13 mars 2019 à 17:39
Pour vérifier la primalité d'un int (4 octets) on peut utiliser :
4 mars 2019 à 20:28
Le 100 000 000-ième nombre premier est : 2 038 074 743
Ce nombre tient dans un int sur 4 octets (max : 2 147 483 647).
Pour nnp = 10 000 000 le temps de calcul est d'environ 12 secondes.
Et pour nnp = 100 000 000 il est d'environ 5 minutes et 30 secondes.