题解 | #最大公约数#

最大公约数

https://www.nowcoder.com/practice/cf4091ca75ca47958182dae85369c82c

#简单题目
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 求出a、b的最大公约数。
# @param a int整型 
# @param b int整型 
# @return int整型
#
def is_prime(k):
    for i in range(2, k):
        if k % i == 0:
            return False
    return True

def get_zhiyinzi(k, res):
    for i in range(2, k + 1):
        if k % i == 0 and is_prime(i):
            res.append(i)
            if k / i != 1:
                get_zhiyinzi(int(k / i), res)
                break

    return res


import math
class Solution:
    def gcd(self , a: int, b: int) -> int:
        # write code here
        ayue=get_zhiyinzi(a,[])
        byue=get_zhiyinzi(b,[])

        print(ayue)
        print(byue)
        result=1
        for item in ayue:
            if item in byue:
                result=result*item
                byue.remove(item)
        return result

全部评论

相关推荐

Java面试先知:我也是和你一样的情况,hr 说等开奖就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务