Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für den in Python implementierten am wenigsten verbreiteten Vielfachalgorithmus

Beispiel für den in Python implementierten am wenigsten verbreiteten Vielfachalgorithmus

不言
不言Original
2018-05-03 15:37:105305Durchsuche

In diesem Artikel wird hauptsächlich der in Python implementierte Algorithmus zum Lösen des kleinsten gemeinsamen Vielfachen vorgestellt, der numerische Operationen, Urteilsvermögen und andere damit verbundene Bedienfähigkeiten in Python umfasst.

Das Beispiel dieses Artikels beschreibt Der im Python-Algorithmus implementierte Algorithmus zur Lösung des kleinsten gemeinsamen Vielfachen. Teilen Sie es allen als Referenz mit. Die Einzelheiten lauten wie folgt:

Nach einer kurzen Analyse ähnelt die zuvor eingeführte Methode zur Lösung des größten gemeinsamen Teilers der Methode zur Lösung des kleinsten gemeinsamen Vielfachen eine einfache Bedingung ändern und dann etwas Einfaches durchführen Andere Berechnungen. Die Lösung des Problems basiert ebenfalls auf dem Verfahren der Faktorisierung von Primfaktoren.

Die Programmimplementierung und der Testfallcode lauten wie folgt:

#!/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))

Ergebnis der Programmausführung:

E : WorkSpace

Das obige ist der detaillierte Inhalt vonBeispiel für den in Python implementierten am wenigsten verbreiteten Vielfachalgorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn