2427. 公因子的数目
大约 1 分钟
2427. 公因子的数目
- 标签:数学、枚举、数论
- 难度:简单
题目链接
题目大意
描述:给定两个正整数 和 。
要求:返回 和 的公因子数目。
说明:
- 公因子:如果 可以同时整除 和 ,则认为 是 和 的一个公因子。
- 。
示例:
- 示例 1:
输入:a = 12, b = 6
输出:4
解释:12 和 6 的公因子是 1、2、3、6。
- 示例 2:
输入:a = 25, b = 30
输出:2
解释:25 和 30 的公因子是 1、5。
解题思路
思路 1:枚举算法
最直接的思路就是枚举所有 之间的数,并检查是否能同时整除 和 。
当然,因为 与 的公因子肯定不会超过 与 的最大公因数,则我们可以直接枚举 之间的数即可,其中 是 与 的最大公约数。
思路 1:代码
class Solution:
def commonFactors(self, a: int, b: int) -> int:
ans = 0
for i in range(1, math.gcd(a, b) + 1):
if a % i == 0 and b % i == 0:
ans += 1
return ans
思路 1:复杂度分析
- 时间复杂度:。
- 空间复杂度:。