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 pygame安装过程笔记
Jun 05 Python
Anaconda多环境多版本python配置操作方法
Sep 12 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
python实现贪吃蛇游戏
Mar 21 Python
python图像处理入门(一)
Apr 04 Python
python队列Queue的详解
May 10 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
Oct 28 Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 Python
python:HDF和CSV存储优劣对比分析
Jun 08 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简单封装了一些常用JS操作
2007/02/25 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
简明json介绍
2008/09/28 Javascript
jQuery ready函数滥用分析
2011/02/16 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
react路由配置方式详解
2017/08/07 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
pip命令无法使用的解决方法
2018/06/12 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
python实现石头剪刀布程序
2021/01/20 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
Python中无限循环需要什么条件
2020/05/27 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
详解Python中的Lock和Rlock
2021/01/26 Python
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书