我正在写两个函数。第一个函数目标是将两个数字作为参数,如果它们是co-prime则返回true,否则返回false。这个功能工作正常,看起来像这样:
View - Toolbars - Standart
对于第二个函数,我想取一个数字M作为参数。然后让它返回大于1的M的最小互质。我认为这是一种使用第一个函数来帮助我编写第二个函数的方法,但我遇到了麻烦。这就是我所拥有的,但它并没有让我得到所需的输出。
from math import gcd #imports GCD function
def check_co_prime(num, M):
return gcd(num, M) == 1
答案 0 :(得分:1)
我的解决方案:
from math import gcd
def check_co_prime(num, M):
return gcd(num, M) == 1
def get_smallest_co_prime(M):
for i in range(2, M): # for every number *i* starting from 2 up to M
if check_co_prime(i, M): # check if *i* is coprime with M
return i # if it is, return i as the result
由于算法从i = 2开始并以递增的顺序继续(即i = 2,3,4等...),因此满足if条件的i的第一个值将是与coprime相互作用的最小数字。微米。