题目转载:http://python.wzms.com/s/1/53
题目描述:
输入两个正整数m和n,判断m和n是否互质(即最大公约数为1),是则输出Yes,否则输出No。
输入格式:
输入两个整数m和n,中间用空格隔开。
输出格式:
如互质输出Yes,否则输出No。
互质:
- 互质是公约数只有1的两个整数,叫做互质整数。
- 公约数只有1的两个自然数,叫做互质自然数。
- 后者是前者的特殊情形。
公约数:
集合:
- 集合(set)是一个无序的不重复元素序列。
- 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
intersection() 方法:
- intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。
- intersection() 方法语法:set.intersection(set1, set2…etc)
- 返回值:返回一个新的集合。
代码:
m, n = (input().split())
m, n = int(m), int(n)
# 求出m和n的所有因数,分别加到各自的因数集合里
m_factor_set = set()
n_factor_set = set()
for m_factor in range(1, m+1):
if m % m_factor == 0:
m_factor_set.add(m_factor)
for n_factor in range(1, n+1):
if n % n_factor == 0:
n_factor_set.add(n_factor)
# 如果两个因数集合的交集中只有1这个元素,那么m和n互质
if m_factor_set.intersection(n_factor_set) == {1}:
print('YES')
else:
print('NO')
运行结果:

判断两个正整数是否互质
该博客介绍了一个LeetCode题目,要求输入两个正整数m和n,判断它们是否互质,即最大公约数是否为1。互质意味着它们的公约数只有1。博客内容包括题目的描述、输入和输出格式,并提到了公约数和集合的概念,还展示了相关的Python代码实现。
1169

被折叠的 条评论
为什么被折叠?



