python3 中的gcd()函數


gcd()方法

gcd(最大公約數)是找到最大數的數學表達式,該方法可以將必須找到gcd的兩個數相除,而所得余數為零.

Python在math模塊中具有內置的gcd函數,可以實現它。

 

math.gcd(*integers)

返回給定的整數參數的最大公約數。 如果有一個參數非零,則返回值將是能同時整除所有參數的最大正整數。 如果所有參數為零,則返回值為 0。 不帶參數的 gcd() 返回 0

  3.5 新版功能.

  在 3.9 版更改: 添加了對任意數量的參數的支持。 之前的版本只支持兩個參數。

 

語法:

gcd(x,y) #其中x和y是正整數。

 

例如:

 1 >>> from math import gcd
 2 >>> gcd(4,2)
 3 2
 4 >>> gcd(1,3)
 5 1
 6 >>> gcd(1,0)
 7 1
 8 >>> gcd(0,0)
 9 0
10 >>> gcd()
11 Traceback (most recent call last):
12   File "<stdin>", line 1, in <module>
13 TypeError: gcd expected 2 arguments, got 0

 

 

使用:

最簡分數

給你一個整數 n ,請你返回所有 0 到 1 之間(不包括 0 和 1)滿足分母小於等於  n 的 最簡 分數 。分數可以以 任意 順序返回。

 

示例 1:

輸入:n = 2
輸出:["1/2"]
解釋:"1/2" 是唯一一個分母小於等於 2 的最簡分數。
示例 2:

輸入:n = 3
輸出:["1/2","1/3","2/3"]
示例 3:

輸入:n = 4
輸出:["1/2","1/3","1/4","2/3","3/4"]
解釋:"2/4" 不是最簡分數,因為它可以化簡為 "1/2" 。
示例 4:

輸入:n = 1
輸出:[]
 

提示:

1 <= n <= 100

 

解答:

1 class Solution:
2     def simplifiedFractions(self, n: int) -> List[str]:
3         return [f"{j}/{i}" for i in range(2, n + 1) for j in range(1, i) if gcd(i, j) == 1]

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM