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


Posted in Python onMay 21, 2018

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

最大公约数和最小公倍数的概念大家都很熟悉了,在这里就不多说了,今天这个是因为做题的时候遇到了所以就写下来作为记录,也希望帮到别人,下面是代码:

#!/usr/bin/env python
#coding:utf-8
from fractions import gcd
#非递归实现
def gcd_test_one(a, b):
  if a!=0 and b!=0:
    if a>b:
      a, b=b, a
    if b%a==0:
      return a
    gcd_list=[]
    for i in range(1,a):
      if b%i==0 and a%i==0:
        gcd_list.append(i)
    return max(gcd_list)
  else:
    print 'Number is wrong!!!'
#递归实现
def gcd_test_two(a, b):
  if a>b:
    a, b=b, a
  if b%a==0:
    return a
  else:
    return gcd_test_two(a,b%a)
#python自带的gcd
def gcd_test_three(a, b):
  return gcd(a,b)
if __name__ == '__main__':
  print gcd_test_one(12,24)
  print gcd_test_one(12,8)
  print gcd_test_one(6,24)
  print gcd_test_one(0,24)
  print '----------------------------------------------------------------------------'
  print gcd_test_two(12,24)
  print gcd_test_two(12,8)
  print gcd_test_two(6,32)
  print '----------------------------------------------------------------------------'
  print gcd_test_three(12,24)
  print gcd_test_three(12,8)

结果如下:

12
4
6
Number is wrong!!!
None
----------------------------------------------------------------------------
12
4
2
----------------------------------------------------------------------------
12
4

Python 相关文章推荐
Python中暂存上传图片的方法
Feb 18 Python
利用ctypes提高Python的执行速度
Sep 09 Python
Python爬取网易云音乐热门评论
Mar 31 Python
Python调用ctypes使用C函数printf的方法
Aug 23 Python
python中的随机函数random的用法示例
Jan 27 Python
python实现俄罗斯方块
Jun 26 Python
淘宝秒杀python脚本 扫码登录版
Sep 19 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
Python如何实现的二分查找算法
May 27 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
去除python中的字符串空格的简单方法
Dec 22 Python
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
Apr 14 Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 #Python
Python下使用Scrapy爬取网页内容的实例
May 21 #Python
python 每天如何定时启动爬虫任务(实现方法分享)
May 21 #Python
对python抓取需要登录网站数据的方法详解
May 21 #Python
深入浅析python 中的匿名函数
May 21 #Python
python3 selenium 切换窗口的几种方法小结
May 21 #Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 #Python
You might like
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
python3.7.0的安装步骤
2018/08/27 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
python获取栅格点和面值的实现
2020/03/10 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
领导证婚人证婚词
2014/01/13 职场文书
高二历史教学反思
2014/01/25 职场文书
党建工作经验交流材料
2014/05/25 职场文书
教师专业自荐信
2014/05/31 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
人代会简报
2015/07/21 职场文书
少先队大队委竞选口号
2015/12/25 职场文书