Maison >développement back-end >Tutoriel Python >Exemple de l'algorithme multiple le moins courant implémenté en Python

Exemple de l'algorithme multiple le moins courant implémenté en Python

不言
不言original
2018-05-03 15:37:105361parcourir

Cet article présente principalement l'algorithme de résolution du multiple le moins commun implémenté en Python, impliquant des opérations numériques Python, du jugement et d'autres compétences opérationnelles connexes. Les amis dans le besoin peuvent s'y référer

L'exemple de cet article décrit. l'algorithme de résolution du multiple le moins commun implémenté dans l'algorithme Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Après une brève analyse, la méthode de résolution du plus grand commun diviseur présentée précédemment est similaire à la méthode de résolution du plus petit commun multiple dont vous avez seulement besoin. pour modifier une condition simple, puis effectuer quelque chose de simple, d'autres calculs. La solution du problème repose également sur la procédure de factorisation des facteurs premiers.

La mise en œuvre du programme et le code du cas de test sont les suivants :

#!/usr/bin/python
from collections import Counter
def PrimeNum(num):
   r_value =[]
   for i in range(2,num+1):
      for j in range(2,i):
         if i % j == 0:
            break
      else:
         r_value.append(i)
   return r_value
def PrimeFactorSolve(num,prime_list):
   for n in prime_list:
      if num % n == 0:
         return [n,num / n]
def Primepisor(num):
   num_temp =num
   prime_range= PrimeNum(num)
   ret_value =[]
   while num not 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 LeastCommonMultiple(num1,num2):
   dict1 =Primepisor(num1)
   dict2 =Primepisor(num2)
   least_common_multiple= 1
   for key in dict1:
      if key in dict2:
         if dict1[key] > dict2[key]:
            least_common_multiple*= (key ** dict1[key])
         else:
            least_common_multiple*= (key ** dict2[key])
   for key in dict1:
      if key not in dict2:
         least_common_multiple*= (key ** dict1[key])
   for key in dict2:
      if key not in dict1:
         least_common_multiple*= (key ** dict2[key])
   return least_common_multiple
print(LeastCommonMultiple(12,18))
print(LeastCommonMultiple(7,2))
print(LeastCommonMultiple(7,13))
print(LeastCommonMultiple(24,56))
print(LeastCommonMultiple(63,81))

Résultats de l'exécution du programme :

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!

Déclaration:
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