IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithme qui affiche les N premiers entiers impairs


Sujet :

Algorithmes et structures de données

  1. #21
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wiwaxia Voir le message
    Il manque un terme, parce que (K) varie de (N-1) à (1), ce qui fait en comptant bien (N-1) valeurs entières successives ... Que faut-il prendre pour la valeur initiale de (K) ?

    L'expression du nombre impair (M) est inappropriée: il suffit de considérer la dernière valeur listée ... Quelle est l'expression correcte dans le cas présent ?

    Encore un petit effort, et ce sera super-bon
    c'est tout ce que je peux merci

    var K,N,M : entiers
    debut //1
    écrire ( "N")
    lire (N)
    K=N //2
    tantque K>0 faire //2
    M= 2*K -1
    afficher le nombre ("M")
    K=K-1
    finde tanque
    fin debut

    après l'avoir exécuter sous pascal que j'ai trouvé la solutions je pense que c ça

  2. #22
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Algorithme qui affiche les N premiers entiers impairs
    Citation Envoyé par clipper5.3 Voir le message
    var K,N,M : entiers
    debut //1
    écrire ( "N")
    lire (N)
    K=N-1 //2
    tantque K>0 faire //2
    M= 2*K -1
    afficher le nombre ("M")
    K=K-1
    finde tanque
    fin debut

    après l'avoir exécuté sous pascal que j'ai trouvé la solution je pense que c ça
    Voilà une bonne réponse.
    Il ne te reste plus qu'à répondre à la première remarque (c'est le plus facile):
    Il manque un terme, parce que (K) varie de (N-1) à (1), ce qui fait en comptant bien (N-1) valeurs entières successives ... Que faut-il prendre pour la valeur initiale de (K) ?
    # Question:
    Citation Envoyé par clipper5.3 Voir le message
    ... après l'avoir exécuté sous pascal ...
    Tu as donc écrit un programme en Turbo Pascal ? Pourquoi ne l'as-tu pas donné plus tôt ?
    Cela aurait été plus simple ... Quel est ce programme source ?


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  3. #23
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Points : 1
    Points
    1
    Par défaut Afficher les N Premiers entiers Impairs dans Ordre Decroissat
    var K,N,M : entiers
    debut //1
    écrire ( "N")
    lire (N)
    K=N //2
    tantque K>0 faire //2
    M= 2*K -1
    afficher le nombre ("M")
    K=K-1
    finde tanque
    fin debut

    je pense que c ça oufffffffffffffffffffff

  4. #24
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Algorithme qui affiche les N premiers entiers impairs
    Citation Envoyé par clipper5.3 Voir le message
    var K,N,M : entiers
    debut //1
    écrire ( "N")
    lire (N)
    K=N //2
    tantque K>0 faire //2
    M= 2*K -1
    afficher le nombre ("M")
    K=K-1
    finde tanque
    fin debut ...
    Impeccable !


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  5. #25
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wiwaxia Voir le message
    Impeccable !
    Merci Beaucoup Et Voila Ma Deuxième Question

    Écrire l'algorithme qui permet d'afficher les diviseurs d'un entiers N.

  6. #26
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Citation Envoyé par clipper5.3 Voir le message
    Merci Beaucoup Et Voila Ma Deuxième Question

    Écrire l'algorithme qui permet d'afficher les diviseurs d'un entiers N.


    L'être humain ne sait pas faire.


    Par contre, si tu limites N à une valeur petite, par exemple 100, alors tu peux tester toutes les valeurs.
    N est divisible par P si le reste de la division euclidienne (celle apprise à l'école primaire) est nul ( reste = 0).
    N=a*P + 0
    Tu testeras alors le reste de la division de N par tous les candidats de 1 à N.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  7. #27
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Points : 1
    Points
    1
    Par défaut algorithme qui permet d'afficher les diviseurs d'un entiers N
    Citation Envoyé par Flodelarab Voir le message


    L'être humain ne sait pas faire.


    Par contre, si tu limites N à une valeur petite, par exemple 100, alors tu peux tester toutes les valeurs.
    N est divisible par P si le reste de la division euclidienne (celle apprise à l'école primaire) est nul ( reste = 0).
    N=a*P + 0
    Tu testeras alors le reste de la division de N par tous les candidats de 1 à N.
    var i,N,M : entiers
    début
    écrire ( "N")
    lire (N)
    M=N/2

    est ce que le début est bon ?

  8. #28
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Algorithme qui affiche les N premiers entiers impairs, et rien d'autre
    Citation Envoyé par clipper5.3 Voir le message
    ... Et Voila Ma Deuxième Question

    Écrire l'algorithme qui permet d'afficher les diviseurs d'un entiers N.
    Citation Envoyé par clipper5.3 Voir le message
    var i,N,M : entiers
    début
    écrire ( "N")
    lire (N)
    M=N/2

    est ce que le début est bon ?
    Ça, c'est un autre sujet qu'il convient aborder sur un nouveau forum.

    Et vas-tu nous livrer ainsi l'ensemble de tes exercices ?


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  9. #29
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Citation Envoyé par clipper5.3 Voir le message
    var i,N,M : entiers
    début
    écrire ( "N")
    lire (N)
    M=N/2

    est ce que le début est bon ?
    • Que veut dire "/" ? Est-ce que cet opérateur va te donner le reste ? Si tu réponds "non", il faut trouver un autre opérateur.
    • Tu ne pourras pas faire l'économie d'une boucle.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  10. #30
    Membre du Club
    Homme Profil pro
    codeur
    Inscrit en
    Mars 2018
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : codeur

    Informations forums :
    Inscription : Mars 2018
    Messages : 158
    Points : 64
    Points
    64
    Par défaut Pour afficher les N premier entier impair dans l'ordre decroissant
    Bonjour,

    Je propose un pseudo code conceptuel.

    D'abord préparer un tableau d'entiers de la taille de N et l'initialiser avec les N premier entier ;
    Preparer un itérateur pour ce déplacer dans le tableau et l'initialiser à N ;

    Début du programme :

    faire si tableau(itérateur) mod 2 = 1; alors afficher iterateur; /** if l'itérateur est impair alors afficher l'itérateur;
    itérateur := itérateur - 1;
    jusqu'à itérateur = 1;

    Fin de programme.


    Le truc c'est de décrementer la valeur observer et de voir si il est impair ou pas.
    Là, j'ai fait un tableau mais on peut probablement le faire sans. Et j'ai utilisé la fonction "modulo" pour voir si la valeur courante est impair ou pas.

    Si je ne me suis pas trompé.

    Avec Ada ;
    Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for i in reverse 1..N then
       if i mod 2 = 1 then
            put_line(i);
       end if;
    end loop;
    Mais il faut avoir "reverse".
    Logique sans matière est matière de logique.

  11. #31
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Citation Envoyé par arknos Voir le message
    Si je ne me suis pas trompé.
    Si tu prends une étendue de 0 à N et que tu la coupes en 2 (puisque distinction pair/impair), alors tu auras les N/2 entiers impairs. N'est-ce pas ?
    Il y a donc une petite erreur.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  12. #32
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Algorithme qui affiche les N premiers entiers impairs
    L'idée conduit à un résultat, à condition de commencer par l'énumération d'une liste d'entiers allant de 0 à (2*N).

    Il suffit de parcourir ensuite la liste en sens inverse en repérant les termes impairs, dont le nombre est égal à (N).

    Peut-on considérer que l'on a fait le tour de la question ? J'ai l'impression qu'à vouloir trop convaincre, on va s'enliser dans des répétitions déprimantes


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  13. #33
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Imagine que l'opération "Repérer un terme impair" coûte 1 million d'euros.
    Imagine que l'opération "Passer à l'impair suivant" coûte 1 euro.
    Alors ton algorithme nous coûtera bien cher. (des millions contre 1 million)

    Une fois que tu as repéré le premier, il n'est pas utile de repérer les autres.
    L'opération simple consiste à faire "-2".
    (si simple que personne ne l'avait proposé)
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  14. #34
    Membre expérimenté

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 649
    Points : 1 493
    Points
    1 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    L'opération simple consiste à faire "-2".
    (si simple que personne ne l'avait proposé)
    Trop beau !!! effectivement, autant pour moi

  15. #35
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 410
    Points : 5 801
    Points
    5 801
    Par défaut
    salut

    Citation Envoyé par Flodelarab Voir le message
    Imagine que l'opération "Repérer un terme impair" coûte 1 million d'euros.
    Imagine que l'opération "Passer à l'impair suivant" coûte 1 euro.
    Alors ton algorithme nous coûtera bien cher. (des millions contre 1 million)

    Une fois que tu as repéré le premier, il n'est pas utile de repérer les autres.
    L'opération simple consiste à faire "-2".
    (si simple que personne ne l'avait proposé)
    objection ^^
    dans ma formulation c'est ce que je sous entendais par
    ensuite a partir de là tu fait une boucle
    a chaque iteration tu enleve deux au nombre
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  16. #36
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Vrai !

    Du coup, j'ai mis +1
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  17. #37
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    • Que veut dire "/" ? Est-ce que cet opérateur va te donner le reste ? Si tu réponds "non", il faut trouver un autre opérateur.
    • Tu ne pourras pas faire l'économie d'une boucle.
    M=N/2
    M=N devisé 2

  18. #38
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 34
    Points : 1
    Points
    1
    Par défaut les diviseurs d'un entiers N.
    var i,N,M : entiers
    début
    donner ( "N")
    lire (N)
    M=N/2
    pour i=2 à M faire
    si ( le reste de N/i = 0 ) alors afficher ( "i")
    sinon ( afficher " pas de diviseurs ")
    fin pour
    fin début

  19. #39
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    pour i=2 à M faire
    "1" n'est-il pas un diviseur de "N" ?

    M=N/2
    pour i=2 à M faire
    Pourquoi diviser par 2 ? "N" n'a-t-il pas le droit d'être diviseur de "N" ?

    sinon ( afficher " pas de diviseurs ")
    Ce n'est pas qu'il n'y a pas de diviseur. C'est que "i" n'est pas diviseur.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  20. #40
    Membre du Club
    Homme Profil pro
    codeur
    Inscrit en
    Mars 2018
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : codeur

    Informations forums :
    Inscription : Mars 2018
    Messages : 158
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Si tu prends une étendue de 0 à N et que tu la coupes en 2 (puisque distinction pair/impair), alors tu auras les N/2 entiers impairs. N'est-ce pas ?
    Il y a donc une petite erreur.
    Bonjour, pourquoi couperait-on N en deux ?

    Si vous coupez N en 2 vous aurez les N/2 premier entier, pas que les impairs.

    Et je véririe si mon algo est bon :
    manu@ultimate:~$ ./devel/divers/n_impairs
    11
    9
    7
    5
    3
    1


    Ma foi, ça à l'air de fonctionner.
    Logique sans matière est matière de logique.

Discussions similaires

  1. [Python 3.X] Coder un algorithme qui détermine les nombres premiers.
    Par Gwynbleidd dans le forum Calcul scientifique
    Réponses: 6
    Dernier message: 11/02/2017, 13h51
  2. Réponses: 2
    Dernier message: 04/10/2007, 12h31
  3. Un ls récursif qui affiche les chemins absolus
    Par Michaël dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 10/07/2006, 18h04
  4. [SQL Server] Requete qui affiche les doublons
    Par Vesta dans le forum Langage SQL
    Réponses: 11
    Dernier message: 26/05/2006, 14h42
  5. afficher les n premiers caractères d'un champs
    Par kabool dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/03/2006, 19h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo