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

Python Discussion :

Programme pour determiner le plus petit multiple commun


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    L1 informatique
    Inscrit en
    Octobre 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : L1 informatique

    Informations forums :
    Inscription : Octobre 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Programme pour determiner le plus petit multiple commun
    Bonjour à tous,
    J'ai décidé de créer un programme sur python me permettant de trouver le PPCM, voici ce que j'ai fait (ps*: cela ne fonctionne pas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    a=int(input("mettre la valeur d'un entier"))
    b=int(input("mettre la valeur d'un entier"))
    ma=a
    mb=b
    k=1
    while ma!=mb:
        if ma>mb:
            mb=b*(k+1)
        if ma<mb:
            ma=a*(k+1)
    print(ma,mb)

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 240
    Points : 36 694
    Points
    36 694
    Par défaut
    Citation Envoyé par petitnouveau75 Voir le message
    J'ai décidé de créer un programme sur python me permettant de trouver le PPCM
    La mise au point du programme fait partie du boulot et comprendre pourquoi ça ne marche pas est le "vrai" boulot.
    Pour y arriver, il faut apprendre à relire le code que vous avez écrit en vous posant des questions sur ce qu'il fait vs supposé faire.... Par exemple, afficher ma et mb à chaque itération (plutôt qu'après la sortie de la boucle) devrait vous donner des pistes (surtout quand ça ne sort pas de la boucle).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    L1 informatique
    Inscrit en
    Octobre 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : L1 informatique

    Informations forums :
    Inscription : Octobre 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonsoir, merci du conseil, j'ai changé mon programme, si vous le souhaitez dites-moi ce que vous en pensez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    a=int(input("mettre la valeur d'un entier"))
    b=int(input("mettre la valeur d'un entier"))
    ma=a
    mb=b
    k=1
    g=1
    while ma!=mb:
        if ma>mb:
            mb=b*k
            k=k+1
        if ma<mb:
            ma=a*g
            g=g+1
        print(ma,mb)

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 240
    Points : 36 694
    Points
    36 694
    Par défaut
    Citation Envoyé par petitnouveau75 Voir le message
    j'ai changé mon programme, si vous le souhaitez dites-moi ce que vous en pensez
    Je n'en pense rien.

    Vous êtes supposé avoir réfléchi à comment se calcule un PPCM avant de partir à le coder (et vous avez de la littérature qui traîne sur Internet la dessus). Une fois l'algorithme compris, on le code avec Python et on vérifie ce que ça donne sur quelques exemples.
    Je ne vois pas comment un forum technique Python peut vous aider à faire cela (avec un autre langage, on procède pareil...)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 631
    Points : 30 865
    Points
    30 865
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par petitnouveau75 Voir le message
    si vous le souhaitez dites-moi ce que vous en pensez
    Puisque ça fonctionne, que peut-on dire???

    Ensuite si on veut parler de "programmation plus professionnelle" alors oui là on peut faire des remarques
    • pourquoi le travail n'est-il pas dévolu à une fonction, ce qui permettrait de la réutiliser où on veut?
    • que se passe-t-il si on saisit "toto" ?
    • pourquoi multiplier les valeurs par 1, 2, 3, ... ? Pourquoi ne pas simplement additionner "a" à chaque "ma" et "b" à chaque "mb"? On évite ainsi deux variables "k" et "g"

    Donc voilà. Bienvenue dans la prog.

    PS: ppcm(a, b)=a*b/pgcd(a, b)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour

    La méthode la plus efficace pour calculer le PPCM est d'utiliser le PGCD, dans la mesure où celui-ci utilise l'algorithme d'Euclide très simple et très rapide (https://fr.wikipedia.org/wiki/Algorithme_d%27Euclide):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def pgcd(a,b):
        """Calcul du 'Plus Grand Commun Diviseur' entre les 2 nombres entiers a et b
           (algorithme d'Euclide)
        """
        while b <> 0:
            a, b = b, a%b
        return a
    Pour le PPCM, on utilise ppcm(a, b) = a*b/pgcd(a, b) comme l'a rappelé Sve@r
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  7. #7
    Membre habitué
    Homme Profil pro
    Animateur Numérique
    Inscrit en
    Février 2013
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Animateur Numérique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2013
    Messages : 130
    Points : 185
    Points
    185
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    Bonjour

    La méthode la plus efficace pour calculer le PPCM est d'utiliser le PGCD, dans la mesure où celui-ci utilise l'algorithme d'Euclide très simple et très rapide (https://fr.wikipedia.org/wiki/Algorithme_d%27Euclide):

    Pour le PPCM, on utilise ppcm(a, b) = a*b/pgcd(a, b) comme l'a rappelé Sve@r
    Et tu n'as même pas mis un lien vers ton site

    https://python.jpvweb.com/python/mes...p?id=pgcd_ppcm

  8. #8
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Diablo76 Voir le message
    Et tu n'as même pas mis un lien vers ton site

    https://python.jpvweb.com/python/mes...p?id=pgcd_ppcm
    Merci, Diablo76. Manifestement, tu as de bonnes lectures !

    Mais j'ai un tel retard dans les mises à jour de mon site que je fini par en avoir honte... Et mes idées et ma manière de coder ont évolué depuis. Je vais devoir soit le mettre sérieusement à jour, soit l'abandonner. . Ce serait dommage, parce qu'il y a des trucs qu'on ne trouve nul part ailleurs. Par exemple, les restes chinois (https://python.jpvweb.com/python/mes...restes_chinois).
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

Discussions similaires

  1. Trouver le le plus petit multiple de 6 d'un tableau
    Par antares56 dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 07/10/2020, 17h49
  2. le plus petit multiple commun de deux chiffres
    Par dongmo dans le forum Mathématiques
    Réponses: 4
    Dernier message: 05/12/2009, 18h31
  3. algo pour déterminer le plus petit cercle circonscrit d'un convexe quelconque
    Par [Hugo] dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 27/02/2008, 13h06
  4. Programme pour petites annonces
    Par killaz1 dans le forum Langage
    Réponses: 1
    Dernier message: 23/04/2007, 16h48
  5. aide petit programme pour débutant
    Par kartp0rqx dans le forum C
    Réponses: 16
    Dernier message: 14/10/2005, 20h31

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