国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現的求解最小公倍數算法示例

2020-01-04 15:15:00
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現的求解最小公倍數算法。分享給大家供大家參考,具體如下:

簡單分析了一下,前面介紹的最大公約數的求解方法跟最小公倍數求解方法類似,只需要改一個簡單的條件,然后做一點簡單的其他計算。問題的解決也是基于分解質因式的程序。

程序實現以及測試case代碼如下:

#!/usr/bin/pythonfrom collections import Counterdef 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_valuedef PrimeFactorSolve(num,prime_list):  for n in prime_list:   if num % n == 0:     return [n,num / n]def PrimeDivisor(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 =PrimeDivisor(num1)  dict2 =PrimeDivisor(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_multipleprint(LeastCommonMultiple(12,18))print(LeastCommonMultiple(7,2))print(LeastCommonMultiple(7,13))print(LeastCommonMultiple(24,56))print(LeastCommonMultiple(63,81))

程序執行結果:

E:/WorkSpace/01_編程語言/03_Python/math>pythonleast_common_multiple.py
36
14
91
168
567

通過驗證,計算結果準確。

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五峰| 苏尼特右旗| 罗甸县| 西城区| 临邑县| 河津市| 乌鲁木齐县| 南昌县| 五指山市| 罗定市| 乐都县| 绥化市| 延吉市| 铜川市| 前郭尔| 和静县| 临夏市| 台南市| 葵青区| 柞水县| 英山县| 苗栗县| 黄石市| 武邑县| 镇雄县| 新巴尔虎左旗| 抚顺县| 青神县| 长阳| 福鼎市| 中江县| 新乡县| 合作市| 遵义市| 喀什市| 灵寿县| 林芝县| 江阴市| 舞钢市| 称多县| 台中市|