Comptabilité

Messages postés
33
Date d'inscription
mercredi 22 novembre 2017
Dernière intervention
28 novembre 2017
- - Dernière réponse : Georges_46
Messages postés
1
Date d'inscription
mardi 12 mars 2019
Dernière intervention
15 mars 2019
- 15 mars 2019 à 19:20
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/102339-comptabilite

Afficher la suite 
pgl10
Messages postés
310
Date d'inscription
samedi 18 décembre 2004
Dernière intervention
15 mars 2019
1 -
Bonjour,
Pour vérifier la primalité d'un int on peut utiliser la fonction suivante très simple :

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;
}

Le contrôle de primalité de Miller et Rabin sous sa forme probabiliste ou même sous sa forme déterministe conviendrait aussi mais il est utilisé normalement pour des entiers de plus grande taille. Pour un entier de type int sur 4 octets ce code est bien suffisant.
Georges_46
Messages postés
1
Date d'inscription
mardi 12 mars 2019
Dernière intervention
15 mars 2019
-
c'est intéressant moi je connais que deux façons de calculer les nombres premiers une méthode rapide et le crible d'erathostène
Commenter la réponse de ddggbeda

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.