Exemple d'algorithme de résolution du plus grand diviseur commun implémenté en Python

不言
Libérer: 2018-05-03 13:53:00
original
2377 Les gens l'ont consulté

Cet article présente principalement l'algorithme de résolution du plus grand diviseur commun implémenté en Python, impliquant des compétences opérationnelles liées aux opérations mathématiques Python. Les amis dans le besoin peuvent s'y référer

Cet article décrit l'algorithme de résolution du plus grand diviseur commun. diviseur commun implémenté en Python. Partagez-le avec tout le monde pour référence, les détails sont les suivants :

Lorsque vous utilisez Python pour trouver le plus grand diviseur commun de deux nombres, la décomposition des facteurs premiers introduite précédemment est utilisée. En fait, lorsque j’ai écrit le programme de factorisation première, c’est parce que j’ai découvert que cette fonction était utilisée dans le processus de résolution du plus grand diviseur commun.

Ce qui me rend heureux, c'est que la fonction de traitement de collection Python que j'ai apprise auparavant est réellement utile en ce moment. L'achèvement du petit programme permet aux gens de se sentir plus à l'aise.

Le code est implémenté comme suit :

#!/usr/bin/python
from collections import Counter
def PrimeNum(num):
   r_value =[]
   for i inrange(2,num+1):
      for jin range(2,i):
         if i % j == 0:
            break
      else:
         r_value.append(i)
   return r_value
def PrimeFactorSolve(num,prime_list):
   for n inprime_list:
      if num % n == 0:
         return [n,num / n]
def Primepisor(num):
   num_temp =num
   prime_range= PrimeNum(num)
   ret_value =[]
   while numnot in prime_range:
      factor_list= PrimeFactorSolve(num,prime_range)
      ret_value.append(factor_list[0])
      num =factor_list[1]
   else:
      ret_value.append(num)
   return Counter(ret_value)
def Maxpisor(num1,num2):
   dict1 =Primepisor(num1)
   dict2 =Primepisor(num2)
   max_pisor= 1
   for key1 indict1:
      if key1 in dict2:
         if dict1[key1] < dict2[key1]:
            max_pisor*= (key1 ** dict1[key1])
         else:
            max_pisor*= (key1 ** dict2[key1])
   return max_pisor
print(Maxpisor(12,18))
print(Maxpisor(7,2))
print(Maxpisor(7,13))
print(Maxpisor(24,56))
print(Maxpisor(63,81))
Copier après la connexion

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

E : Espace de travail

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!