Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

nombres premiers en algorithme



  1. #1
    dalida1111

    nombres premiers en algorithme

    salut
    je cherche s'il vous plait à ecrire un programme qui affiche N nombres premiers (avec N=25 et le 25 éme nombre premier est 97)


    Mon programme :

    Code:
    var i,j,nbdiviseur  <-0 : entiers;
    Debut
                   pour i de 1 à 97 pas de 1 faire
            pour j de 1 à i pas de 1 faire
                    si (i mod j = 0) alors
                      nbdiviseur<- nbdiviseur+1;
    
                   fin si 
    fin pour 
              fin pour
    si (nbdiviseur<=2) alors
    afficher ("les nombres premiers sont :",i);
    finsi
    fin
    merci de m 'avoir aidée .

    -----

    Dernière modification par yoda1234 ; 22/11/2011 à 04h51.

  2. #2
    photon57

    Re : nombres premiers en algorithme

    Citation Envoyé par dalida1111 Voir le message
    salut
    je cherche s'il vous plait à ecrire un programme qui affiche N nombres premiers (avec N=25 et le 25 éme nombre premier est 97)
    Hello,

    Code:
    var i,j,nbdiviseur  <-0 : entiers;
    Debut
        pour i de 1 à 97 pas de 1 faire
            pour j de 1 à i pas de 1 faire
                si (i mod j = 0) alors
                    nbdiviseur<- nbdiviseur+1;
                fin si 
            fin pour 
        fin pour
        si (nbdiviseur<=2) alors
            afficher ("les nombres premiers sont :",i);
        finsi
    fin
    Cet algorithme ne fait pas ce que tu as en tête.
    Une variable entière ne contient qu'un nombre et un seul donc une ligne comme afficher ("les nombres premiers sont :",i); n'affichera qu'un nombre et jamais plusieurs.
    Ton algo contient deux boucles, la première fait parcourir à i tous les entiers entre 1 et 97 et la seconde fait parcourir à j tous les nombres entre 1 et i. À l'intérieur des boucles tu ne fais qu'incrémenter une variable nbdiviseur et rien d'autre. Au sortir des deux boucles cette variable contiendra donc la somme des nombres de fois où un entier compris entre 1 et 97 se fait diviser par un autre nombre.
    Pour approcher ce que tu veux faire il va falloir déplacer ta conditionnelle à la fin de la boucle j, car à la fin de la boucle j tu connais le nombre de diviseurs pour un certain i et tu peux savoir si cet i est premier ou non. Il ne faudra pas oublier de réinitialiser nbdiviseur à 0 pour chaque i.

    Tu essayes donc d'écrire un algo qui utilise la propriété «un nombre est premier ssi il a exactement deux diviseurs, 1 et lui-même». Ta conditionnelle teste nbdiviseur<=2, ce qui fera que 1 sera trouvé premier ce qui est faux.
    Ton algo ne cherche pas réellement les 25 premiers nombres premiers, il cherche les nombres premiers entre 1 et 97, comment pourrais-tu faire pour t'arrêter au nème où n est un entier quelconque ?

  3. #3
    dalida1111

    Re : nombres premiers en algorithme

    salut & merci de m'avoir répondue
    le 25 éme nombre premier vaut 97 .donc faut pas depasser ce nombre ..
    j'ai initialisé le nombre de diviseur dans la phase de declaration des variables
    donc , je dois ecrire si (nbdiviseur =2 ) alors afficher (" le nombre premier :",i);

  4. #4
    photon57

    Re : nombres premiers en algorithme

    En gros c'est ça ...

    pour chaque nombre que tu veux tester
    ...on met le nombre de diviseur à 0
    ...pour chaque nombre plus petit que le nombre à tester
    ......si ils se divisent alors on incrémente le nombre de diviseur
    ...une fois finie la recherche de diviseurs
    ...si le nombre de diviseurs > 2 alors il est premier


    remarque : tu sais qu'un nombre n'est pas premier à partir du moment où tu trouves un diviseur de ce nombre >1; donc à moins de vouloir explicitement déterminer le nombre de diviseurs tu peux éliminer un nombre comme n'étant pas premier plus rapidement ...

Sur le même thème :

Discussions similaires

  1. Algorithme de Factorisation des nombres entiers
    Par lakar dans le forum Mathématiques du supérieur
    Réponses: 27
    Dernier message: 02/08/2018, 12h53
  2. TS écrire un algorithme pour nombres complexes
    Par lablondasse76 dans le forum Mathématiques du collège et du lycée
    Réponses: 0
    Dernier message: 02/11/2011, 18h53
  3. Nombres premiers, y aurait-il des nombres premiers jumeaux
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 2
    Dernier message: 19/04/2007, 08h45
  4. Algorithme de génération de polynômes premiers
    Par Ahy Goon dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 22/07/2005, 09h08
  5. Algorithme pour nombres premiers.
    Par Antikhippe dans le forum Mathématiques du supérieur
    Réponses: 26
    Dernier message: 22/05/2005, 22h28