Python基于递归算法求最小公倍数和最大公约数示例


Posted in Python onJuly 27, 2018

本文实例讲述了Python基于递归算法求最小公倍数和最大公约数。分享给大家供大家参考,具体如下:

# 最小公倍数
def lcm(a, b, c=1):
  if a * c % b != 0:
    return lcm(a, b, c+1)
  else:
    return a*c
test_cases = [(4, 8), (35, 42), (5, 7), (20, 10)]
for case in test_cases:
  print('lcm of {} & {} is {}'.format(*case, lcm(*case)))
def lcm(a, b):
  for i in range(2, min(a,b)+1):
    if a % i == 0 and b % i == 0:
      return i * lcm(a//i, b//i)
  else:
    return a*b
test_cases = [(4, 8), (5, 7), (24, 16), (35, 42)]
for case in test_cases:
  print('lcm of {} & {} is {}'.format(*case, lcm(*case)))
# 最大公约数
def gcd(a, b):
  if a == b:
    return a
  elif a-b > b:
    return gcd(a-b, b)
  else:
    return gcd(b, a-b)
test_cases = [(35, 14), (88, 66), (5, 4), (20, 10)]
for case in test_cases:
  print('GCD of {} & {} is {}'.format(*case, gcd(*case)))

运行结果:

lcm of 4 & 8 is 8
lcm of 35 & 42 is 210
lcm of 5 & 7 is 35
lcm of 20 & 10 is 20
GCD of 35 & 14 is 7
GCD of 88 & 66 is 22
GCD of 5 & 4 is 1
GCD of 20 & 10 is 10

Python 相关文章推荐
Python+Django在windows下的开发环境配置图解
Nov 11 Python
在Python程序中操作文件之isatty()方法的使用教程
May 24 Python
Python实现购物程序思路及代码
Jul 24 Python
定制FileField中的上传文件名称实例
Aug 23 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
使用11行Python代码盗取了室友的U盘内容
Oct 23 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
在OpenCV里使用Camshift算法的实现
Nov 22 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
Django数据库操作之save与update的使用
Apr 01 Python
通过自学python能找到工作吗
Jun 21 Python
Python切片操作深入详解
Jul 27 #Python
对Tensorflow中的变量初始化函数详解
Jul 27 #Python
JavaScript中的模拟事件和自定义事件实例分析
Jul 27 #Python
浅谈tensorflow中几个随机函数的用法
Jul 27 #Python
tensorflow 中对数组元素的操作方法
Jul 27 #Python
Python读取excel中的图片完美解决方法
Jul 27 #Python
tensorflow实现图像的裁剪和填充方法
Jul 27 #Python
You might like
一个程序下载的管理程序(三)
2006/10/09 PHP
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
PHP强制转化的形式整理
2020/05/22 PHP
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
2013/07/09 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
Python编程中的文件操作攻略
2015/10/16 Python
Python脚本实现12306火车票查询系统
2016/09/30 Python
详解Python进程间通信之命名管道
2017/08/28 Python
django的登录注册系统的示例代码
2018/05/14 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
愚人节活动策划方案
2014/03/11 职场文书
演讲稿开场白台词
2014/08/25 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
事业单位聘任报告
2015/03/02 职场文书
党员评议自我评价
2015/03/03 职场文书
第一节英语课开场白
2015/06/01 职场文书
行政处罚事先告知书
2015/07/01 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
Golang中interface{}转为数组的操作
2021/04/30 Golang
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang