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扫描IP段查看指定端口是否开放的方法
Jun 09 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
Jul 08 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
django中静态文件配置static的方法
May 20 Python
Django+Ajax+jQuery实现网页动态更新的实例
May 28 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
Python实现最常见加密方式详解
Jul 13 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
Dec 25 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
更新升级python和pip版本后不生效的问题解决
Apr 17 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
Nov 06 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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购物网站支付paypal使用方法
2010/11/28 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
php curl基本操作详解
2013/07/23 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
javascript 写类方式之三
2009/07/05 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
2020/02/20 Python
python实现简单的购物程序代码实例
2020/03/03 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
中专毕业生自我鉴定
2014/02/02 职场文书
银行批评与自我批评
2014/02/10 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
小学元宵节活动总结
2015/02/06 职场文书
毕业生对母校寄语
2015/02/26 职场文书
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
python 远程执行命令的详细代码
2022/02/15 Python