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]

 

 

posted @ 2022-02-10 09:55  r1-12king  阅读(1757)  评论(0编辑  收藏  举报