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]