Numérologie I

Messages postés
6
Date d'inscription
mardi 21 novembre 2017
Statut
Membre
Dernière intervention
21 novembre 2017
- - Dernière réponse : pgl10
Messages postés
311
Date d'inscription
samedi 18 décembre 2004
Statut
Membre
Dernière intervention
3 avril 2019
- 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.

http://codes-sources.commentcamarche.net/source/102311-numerologie-i

Afficher la suite 
pgl10
Messages postés
311
Date d'inscription
samedi 18 décembre 2004
Statut
Membre
Dernière intervention
3 avril 2019
1 -
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.
pgl10
Messages postés
311
Date d'inscription
samedi 18 décembre 2004
Statut
Membre
Dernière intervention
3 avril 2019
1 -
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;
}
Commenter la réponse de ddggbedr

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.