失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 题目52:输入两个正整数m和n 判断m和n是否互质(即最大公约数为1) 是则输出Yes 否

题目52:输入两个正整数m和n 判断m和n是否互质(即最大公约数为1) 是则输出Yes 否

时间:2021-01-05 00:35:14

相关推荐

题目52:输入两个正整数m和n 判断m和n是否互质(即最大公约数为1) 是则输出Yes 否

题目转载:/s/1/53

题目描述:

输入两个正整数m和n,判断m和n是否互质(即最大公约数为1),是则输出Yes,否则输出No。

输入格式:

输入两个整数m和n,中间用空格隔开。

输出格式:

如互质输出Yes,否则输出No。

互质:

互质是公约数只有1的两个整数,叫做互质整数。公约数只有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')

运行结果:

题目52:输入两个正整数m和n 判断m和n是否互质(即最大公约数为1) 是则输出Yes 否则输出No。

如果觉得《题目52:输入两个正整数m和n 判断m和n是否互质(即最大公约数为1) 是则输出Yes 否》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。