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

首頁 > 編程 > Python > 正文

Python實現利用最大公約數求三個正整數的最小公倍數示例

2020-01-04 16:33:27
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現利用最大公約數求三個正整數的最小公倍數。分享給大家供大家參考,具體如下:

在求解兩個數的小公倍數的方法時,假設兩個正整數分別為a、b的最小公倍數為d,最大公約數為c。存在這樣的關系d=a*b/c。通過這個關系式,我們可以快速的求出三個正整數的最小公倍數。

def divisor(a,b):  c = a%b  while c>0:    a=b    b=c    c=a%b  return bx1 = input("input1:")x2 = input("input2:")x3 = input("input3:")x0 = x1*x2/divisor(x1,x2)x0 = x0*x3/divisor(x0,x3)print "the least multiple is:%d"%x0

通過函數divisor求解兩個數的最大公約數,然后進行兩次求解最小公倍數即可知道三個正整數x1、x2、x3的最小公倍數。

其實可以通過divisor1函數求兩個數的最小公倍數,再進行嵌套調用實現三個數的最小公倍數。

divisor1函數如下:

def divisor1(a,b):  a1 = a  b1 = b  c = a%b  while c>0:    a=b    b=c    c=a%b  return a1*b1/b

嵌套過程如下:

x0 = divisor1(divisor1(x1,x2),x3)

可以求得三個正整數的最小公倍數。

Tip: a-bx=c,可知當一個數為a、b的公約數時,同時也是c的約數。

通過最大公約數即可得到最小公倍數的求解。

def min_multi(a,b):  return a*b/divisor1(a,b)

求解質數的函數:

def isPrime(n):  for i in range(2,int(n**0.5)+1):    if n%i==0:      return False  return True

 

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


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邛崃市| 岳阳市| 马公市| 汪清县| 化隆| 永和县| 余姚市| 仪征市| 南木林县| 株洲县| 上高县| 姚安县| 德格县| 娄底市| 高碑店市| 建阳市| 黔江区| 太康县| 民和| 泰州市| 麻江县| 成安县| 额尔古纳市| 高要市| 平武县| 兴山县| 揭东县| 驻马店市| 余江县| 壤塘县| 沙田区| 尖扎县| 弥勒县| 万州区| 丽水市| 靖安县| 潜江市| 梁山县| 滦南县| 华宁县| 平安县|