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, aif b%a==0:return agcd_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, aif b%a==0:return aelse: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两个自定义函数_Python自定义函数实现求两个数最大公约数、最小公倍数示例...
本文实例讲述了Python自定义函数实现求两个数最大公约数.最小公倍数.分享给大家供大家参考,具体如下: 1. 求最小公倍数的算法: 最小公倍数 = 两个整数的乘积 / 最大公约数 所以我们首先 ...
- 算法:求两个数最大公约数
算法:求两个数最大公约数 原来这是欧几里德先生的发明,无知了,在此记录. #Python 求两数最大公约数 def gcd(a,b):if b == 0:return areturn gcd(b,a% ...
- 如何求两个数最大公约数
一.程序描述 求两个数最大公约数,可以用四种方法,分别是暴力穷举法(不适用于大数字).辗转相除法(线性代数).更相减损法(九章算术).stein算法(Stein算法跟更相减损术很像,而且只有比较.移位 ...
- 埃拉托色尼筛选法c语言求最大公约数,用埃拉托色尼筛算法求两个数最大公约数C++的实现...
#include "stdafx.h" #include "iostream" #include #include //使用埃氏筛选法求最大公约数 void s ...
- C语言求两个数最大公约数和最小公倍数
1.求两个数的最大公约数 1.1 普通实现方法 #include<stdio.h> int main() {int a = 0;int b = 0;scanf("%d %d&q ...
- c语言如何求两个数最大公约数,c语言如何求两个数的最大公约数
c语言求两个数的最大公约数的方法:首先新建一个C语言源程序,并直接输入两个正整数a和b:然后取a,b这两个数中的较小值,存放到变量n中:接着从两个数a和b中的较小数开始,依次逐个减小1:.最后点击工具 ...
- Stein算法(求两个数最大公约数)
欧几里德算法是计算两个数最大公约数的传统算法,他无论从理论还是从效率上都是很好的.但是他有一个致命的缺陷,这个缺陷只有在大素数时才会显现出来. 考虑现在的硬件平台,一般整数最多也就是64位,对于这样的 ...
- python求两个数的最大公约数和最小公倍数_Python求两个数最大公约数、最小公倍数...
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python写函数求两个数最小公倍数_Python自定义函数实现求两个数最大公约数、最小公倍数示例...
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 求两个数的公约数java_java中怎样求两个数的最大公约数?
方法一:(辗转相除法) 设用户输入的两个整数为n1和n2且n1>n2,余数=n1%n2.当余数不为0时,把除数赋给n1做被除数,把余数赋给n2做除数再求得新余数,若还不为0再重复知道余数为0,此 ...
最新文章
- WPF Layout System
- 技术面试 vs 实际岗位 | 每日趣闻
- reduce_sum()中的reduction_indices
- Nginx实现负载均衡时常用的分配服务器策略
- TCP/IP GUIDE
- python中的常量_Python中的变量和常量
- ASP.NET Core中使用GraphQL - 第二章 中间件
- 转:修改Content Server管理员密码 - [Documentum 实施开发记录]
- eclipse中项目内存溢出问题
- 冰原服务器维护,12月2日服务器公告 冰原旅途进发
- funuiTitle-居中问题修改
- javascript的模块开发方法;
- C语言面试基本点整理
- 傅里叶分析——思维导图
- 微信公众号开发(个人订阅号)
- Linux常用快捷键命令
- 逆向之Smali入门学习
- 淘宝客SDK,一键导入淘宝客商城,快速实现流量变现,新增商城返利功能
- LLVM 学习(二) -LLVM IR 语法理论学习
- Unity UnityWebRequest从网页加载图片并永久保存在本地
热门文章
- hdu1010 Tempter of the Bone---DFS+奇偶剪枝
- vc链接数据库和操作数据库的函数清单
- Veeam backup job(3)
- Python菜鸟之路:原生Ajax/Jquery Ajax/IFrame Ajax的选用
- Visual Studio 开源控件扩展 NuGet 常用组件安装命令
- [原创]mac终端前面的计算机名怎么改??
- TPM的R环境的安装和配置
- [zt]扫盲,什么叫MAD(a11s)
- [转] 客户端的JavaScript脚本中获取服务器端控件的值 及ID
- DC guide ---3