中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python實現求解最大公約數算法

發布時間:2021-04-06 12:27:25 來源:億速云 閱讀:206 作者:小新 欄目:開發技術

這篇文章主要介紹了如何使用Python實現求解最大公約數算法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

使用Python求解兩個數的最大公約數的時候用到了前面介紹的分解質因式。其實,我寫分解質因式程序的時候就是因為發現在實現最大公約數求解的過程中用到了這個功能。

比較令我開心的是之前學的一點Python集合處理功能居然在這個時候也派上了用場,小程序的完成讓人感覺比較舒心。

代碼實現如下:

#!/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 PrimeDivisor(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 MaxDivisor(num1,num2):
  dict1 =PrimeDivisor(num1)
  dict2 =PrimeDivisor(num2)
  max_divisor= 1
  for key1 indict1:
   if key1 in dict2:
     if dict1[key1] < dict2[key1]:
      max_divisor*= (key1 ** dict1[key1])
     else:
      max_divisor*= (key1 ** dict2[key1])
  return max_divisor
print(MaxDivisor(12,18))
print(MaxDivisor(7,2))
print(MaxDivisor(7,13))
print(MaxDivisor(24,56))
print(MaxDivisor(63,81))

程序的執行結果如下:

E:\WorkSpace\01_編程語言\03_Python\math>python max_divisor.py
6
1
1
8
9

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Python實現求解最大公約數算法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平谷区| 富顺县| 闵行区| 郴州市| 肃南| 阿拉善右旗| 拉萨市| 绥江县| 遵义县| 微山县| 万全县| 贵州省| 沽源县| 河源市| 黑山县| 建始县| 乌拉特后旗| 华宁县| 宝坻区| 平乐县| 康乐县| 辽宁省| 奉化市| 凭祥市| 资中县| 万州区| 彭山县| 衡阳市| 沧州市| 乌苏市| 历史| 青龙| 景宁| 岐山县| 冕宁县| 禹州市| 通海县| 怀化市| 高淳县| 合作市| 舞阳县|