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中条件判断语句的简单使用方法
Aug 21 Python
python去除文件中空格、Tab及回车的方法
Apr 12 Python
利用Python实现命令行版的火车票查看器
Aug 05 Python
Python爬取京东的商品分类与链接
Aug 26 Python
python 数据的清理行为实例详解
Jul 12 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
Python数据处理numpy.median的实例讲解
Apr 02 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 Python
keras 如何保存最佳的训练模型
May 25 Python
Pygame Rect区域位置的使用(图文)
Nov 17 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
Mar 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 cache类代码(php数据缓存类)
2010/04/15 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
Vue异步加载about组件
2017/10/31 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
python 自动提交和抓取网页
2009/07/13 Python
Python中的True,False条件判断实例分析
2015/01/12 Python
python中私有函数调用方法解密
2016/04/29 Python
Python中的默认参数实例分析
2018/01/29 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
Python 可视化神器Plotly详解
2020/12/26 Python
某科技软件测试面试题
2013/05/19 面试题
求职信需要的五点内容
2014/02/01 职场文书
学生期末评语大全
2014/04/30 职场文书
警示教育活动总结
2014/05/05 职场文书
节能环保标语
2014/06/12 职场文书
高中同学会活动方案
2014/08/14 职场文书
党员个人对照检查材料
2014/10/01 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python