Python习题册031:计算两个数的最大公约数

任务031描述

用Python编写一个程序,用于计算两个整数的最大公约数。

分析及示例

计算最大公约数有很多算法,例如“辗转相除法”,在这里用最简单的方式。首先将两个数相除,如果可以整除,那么被除数就是最大公约数。否则就从被除数的一半依次减1去整除,直至同时被两个数整除为止。

示例算法:

def gcd(x, y):
   gcd = 1

   if x % y == 0:
       return y

   for k in range(int(y/2), 0 , -1):
       if x % k ==0 and y % k == 0:
           gcd = k
           break
   return gcd

print(gcd(12,17))
print(gcd(81,27))

输出结果:

1
27
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 两个或多个正整数数的公约数是,对于这些数,存在一个正整数,可以整除它们。公约数可能有若干个,而其中最大的就是...
    阿啊阿吖丁阅读 1,466评论 0 0
  • Euclidean -- (欧几里得算法、辗转相除法) 假设两个数a,b且a>b。 设a除以b商k,余数为r,那么...
    JerryShieh阅读 2,462评论 0 4
  • 基本概念 因数 :若A=m×n,则称m,n是A的因数;A是m,n的倍数 一个数的最大因数和最小倍数都...
    AQ王浩阅读 2,182评论 0 4
  • 第一章数和数的运算 一概念 (一)整数 1整数的意义 自然数和0都是整数。 2自然数 我们在数物体的时候,用来表示...
    meychang阅读 2,656评论 0 5
  • 日子变好了,他开了家公司,还将母亲接到了城里。 . 老人家闲不住。 他便对母亲说,没事可以擦擦东西。 于是,母亲每...
    李证道阅读 1,414评论 0 0