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 相关文章推荐
使用IronPython把Python脚本集成到.NET程序中的教程
Mar 31 Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
详解Python的Django框架中的模版相关知识
Jul 15 Python
简单谈谈Python流程控制语句
Dec 04 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
python实现画出e指数函数的图像
Nov 21 Python
python 装饰器功能与用法案例详解
Mar 06 Python
重写django的model下的objects模型管理器方式
May 15 Python
python如何从键盘获取输入实例
Jun 18 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 Python
python基础之while循环语句的使用
Apr 20 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删除xml文档内容的方法
2015/01/23 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
在IIS下安装PHP扩展的方法(超简单)
2017/04/10 PHP
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
Vue源码解析之数据响应系统的使用
2019/04/24 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
Python md5与sha1加密算法用法分析
2017/07/14 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
django基础学习之send_mail功能
2019/08/07 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
python Zmail模块简介与使用示例
2020/12/19 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
社区道德讲堂实施方案
2014/03/21 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
退学证明范本3篇
2014/10/29 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
负责培养人意见
2015/06/05 职场文书