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 相关文章推荐
python3 实现的人人影视网站自动签到
Jun 19 Python
Python使用wget实现下载网络文件功能示例
May 31 Python
Python 使用Numpy对矩阵进行转置的方法
Jan 28 Python
Python中三元表达式的几种写法介绍
Mar 04 Python
python实现共轭梯度法
Jul 03 Python
selenium+PhantomJS爬取豆瓣读书
Aug 26 Python
python实现的发邮件功能示例
Sep 11 Python
.dcm格式文件软件读取及python处理详解
Jan 16 Python
python实现的分层随机抽样案例
Feb 25 Python
python字典的值可以修改吗
Jun 29 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
Python实现提取PDF简历信息并存入Excel
Apr 02 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+java实现自动新闻滚动窗口
2006/10/09 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
js window.onload 加载多个函数的方法
2009/11/02 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
Python随机生成带特殊字符的密码
2016/03/02 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
python八大排序算法速度实例对比
2017/12/06 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
详解Pycharm安装及Django安装配置指南
2020/09/15 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
室内趣味活动方案
2014/08/24 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫