最小的Coprime

时间:2018-02-11 16:30:11

标签: python function greatest-common-divisor

我正在写两个函数。第一个函数目标是将两个数字作为参数,如果它们是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 

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相互作用的最小数字。微米。