Maison > développement back-end > Tutoriel Python > Comment trouver le plus grand diviseur commun en Python

Comment trouver le plus grand diviseur commun en Python

php中世界最好的语言
Libérer: 2018-04-09 16:00:46
original
11150 Les gens l'ont consulté

Cette fois je vais vous apporter Comment trouver le plus grand diviseur commun en Python, quelles sont les précautions pour trouver le plus grand diviseur commun en Python, ce qui suit est un cas pratique , jetons un coup d'oeil .

J'ai déjà résumé la solution du plus grand diviseur commun dans Knuth TAOCP. En fait, la modification de l'algorithme dans les questions parascolaires nécessite la réalisation de la solution du plus grand diviseur commun par la méthode de division euclidienne.

Ma compréhension initiale de cette question était fausse et, naturellement, je n'avais pas de réponse standard. Écrivez maintenant l'implémentation du code correspondante selon la réponse standard :

# -*- coding:utf-8 -*-
#! python2
def MaxCommpisor(m,n):
  while m * n != 0:
    m = m % n
    if m == 0:
      return n
    else:
      n = n % m
      if n == 0:
        return m
print(MaxCommpisor(55,120))
Copier après la connexion

Le résultat de l'exécution du programme :

Échangez les positions des deux nombres . Le code est le suivant :

# -*- coding:utf-8 -*-
#! python2
def MaxCommpisor(m,n):
  while m * n != 0:
    m = m % n
    if m == 0:
      return n
    else:
      n = n % m
      if n == 0:
        return m
print(MaxCommpisor(120,55))
Copier après la connexion

Le résultat de l'exécution du programme :

L'invite de question mentionne que cela réduira l'efficacité. le code ci-dessus, l'efficacité est La perte doit être dans la division et le jugement. Ici, prenez le code de l'algorithme précédent et comparez-le :

def CommDevisor(m,n):
  r = m % n
  while r != 0:
    m = n
    n = r
    r = m % n
  return n
print(CommDevisor(120,25))
Copier après la connexion

Résultats d'exécution :

Le nouvel algorithme est dans la boucle , il y a encore une opération de division et de comparaison. En fait, l'efficacité de la comparaison est toujours bonne, mais l'opération de division entraînera une réduction de l'efficacité.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php. !

Lecture recommandée :

Comment Python Numpy exploite les tableaux et les matrices

Comment utiliser Python pour parcourir les tableaux numpy

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal