题解 | #最大公约数#

最大公约数

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

核心:gcb(a, b) = gcb(b, a%b)
证明:只要证明gcb(a, b) = gcb(b, a-b)即可
假设gcb(a, b) = c,证明分两步:

  • step 1:证明c是gcb(b, a-b)的公约数
    gcb(a,b) = c
    => a = k1*c, b = k2*c
    => a-b = (k1-k2)*c, 又b=k2*c
    => c是b和a-b的公约数
  • step 2:证明c是gcb(b, a-b)的最大公约数
    假设存在d>c且b=k3*d, a-b=k4*d
    => a = (k4-k3)*d, b = k3*d
    => 与c是a,b的最大公约数矛盾
    => c是b, a-b的最大公约数
    #
    # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    #
    # 求出a、b的最大公约数。
    # @param a int 
    # @param b int 
    # @return int
    #
    class Solution:
      def gcd(self , a , b ):
          # write code here
          if a%b == 0:
              return b 
          else:
              return self.gcd(b, a%b)
    

```

全部评论

相关推荐

我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
评论
1
收藏
分享
正在热议
# 25届秋招总结 #
442727次浏览 4513人参与
# 春招别灰心,我们一人来一句鼓励 #
42019次浏览 533人参与
# 阿里云管培生offer #
120294次浏览 2220人参与
# 地方国企笔面经互助 #
7964次浏览 18人参与
# 同bg的你秋招战况如何? #
76850次浏览 564人参与
# 实习必须要去大厂吗? #
55781次浏览 961人参与
# 北方华创开奖 #
107439次浏览 599人参与
# 虾皮求职进展汇总 #
115687次浏览 886人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11607次浏览 288人参与
# 实习,投递多份简历没人回复怎么办 #
2454766次浏览 34858人参与
# 提前批简历挂麻了怎么办 #
149907次浏览 1977人参与
# 在找工作求抱抱 #
906039次浏览 9421人参与
# 如果公司给你放一天假,你会怎么度过? #
4759次浏览 55人参与
# 你投递的公司有几家约面了? #
33207次浏览 188人参与
# 投递实习岗位前的准备 #
1195967次浏览 18550人参与
# 机械人春招想让哪家公司来捞你? #
157638次浏览 2267人参与
# 双非本科求职如何逆袭 #
662289次浏览 7397人参与
# 发工资后,你做的第一件事是什么 #
12764次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35833次浏览 384人参与
# 简历中的项目经历要怎么写? #
86924次浏览 1516人参与
# 参加完秋招的机械人,还参加春招吗? #
20137次浏览 240人参与
# 我的上岸简历长这样 #
452024次浏览 8088人参与
牛客网
牛客企业服务