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自定义函数的创建、调用和函数的参数详解
Mar 11 Python
python使用Berkeley DB数据库实例
Sep 26 Python
详解Python2.x中对Unicode编码的使用
Apr 03 Python
python检测是文件还是目录的方法
Jul 03 Python
利用Python的Django框架生成PDF文件的教程
Jul 22 Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 Python
python编程使用协程并发的优缺点
Sep 20 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
Feb 21 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
python 列表转为字典的两个小方法(小结)
Jun 28 Python
Pandas分组与排序的实现
Jul 23 Python
django使用多个数据库的方法实例
Mar 04 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
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
php图像验证码生成代码
2017/06/08 PHP
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
Python文档生成工具pydoc使用介绍
2015/06/02 Python
Python使用pymysql小技巧
2017/06/04 Python
Django框架多表查询实例分析
2018/07/04 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
python时间日期操作方法实例小结
2020/02/06 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
Python 如何批量更新已安装的库
2020/05/26 Python
pytorch SENet实现案例
2020/06/24 Python
python中pow函数用法及功能说明
2020/12/04 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
美国高街时尚品牌:OASAP
2016/07/24 全球购物
办理退休介绍信
2014/01/09 职场文书
学生生病请假条范文
2014/02/16 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
运动会通讯稿600字
2015/07/20 职场文书