记录python实现最大公约数&最小公位数两种算法

概念

最大公约数:指两个或多个整数共有约数中最大的一个

最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数

二者关系:两个数之积=最小公倍数*最大公约数

实例

辗转相除法

a=int(input('please enter 1st num:'))
b=int(input('please enter 2nd num:'))
s=a*b
while a%b!=0:
a,b=b,(a%b)
else:
print(b,'is the maximum common divisor')
print(s//b,'is the least common multiple') #运行结果
please enter 1st num:10
please enter 2nd num:15
5 is the Maximum common divisor
30 is the Least common multiple

更相减损法

a=int(input('please enter 1st num:'))
b=int(input('please enter 2nd num:'))
s=a*b while a!=b:
if a>b:
a-=b
elif a<b:
b-=a
else:
print(a,'is the maximum common divisor')
print(s//a,'is the least common multiple') #运行结果
please enter 1st num:40
please enter 2nd num:60
20 is the maximum common divisor
120 is the least common multiple

  

辗转相除法与更相减损术的区别

(1)都是求最大公因数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。
(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到。

python实现求最大公约数与最小公倍数的更多相关文章

  1. c语言求最大公约数和最小公倍数

    求最大公约数和最小公倍数 假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因 ...

  2. JAVA 基础编程练习题6 【程序 6 求最大公约数及最小公倍数】

    6 [程序 6 求最大公约数及最小公倍数] 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数. 程序分析:利用辗除法. package cskaoyan; public class csk ...

  3. 辗转相除法求最大公约数和最小公倍数【gcd】

    要求最小公倍数可先求出最大公约数 设要求两个数a,b的最大公约数 伪代码: int yushu,a,b: while(b不等于0) { yushu=a对b求余 b的值赋给a yushu的值赋给b } ...

  4. Java求最大公约数和最小公倍数

    最大公约数(Greatest Common Divisor(GCD)) 基本概念 最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为(a,b),同样的 ...

  5. c语言求最大公约数和最小公倍数(转)

    最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实基础,另外就是希望能够帮到和我一样的初学者 ...

  6. Java50道经典习题-程序6 求最大公约数及最小公倍数

    题目:输入两个正整数m和n,求其最大公约数和最小公倍数.分析:用辗转相除法求最大公约数    两个数的最大公约数:设两个数分别为n和m,(n>=m);用定义一个变量i,使用for循环,将i的取值 ...

  7. Problem06 求最大公约数及最小公倍数

    题目:输入两个正整数m和n,求其最大公约数(m,n)和最小公倍数[m,n]. 程序分析:利用辗转相除法. 利用辗除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数, 再用出现的余数(第二余数 ...

  8. 求最大公约数和最小公倍数_python

    """写两个函数,分别求两个整数的最大公约数和最小公倍数,调用这两个函数,并输出结果.两个整数由键盘输入.""" ''' 设两个整数u和v, ...

  9. c语言:辗转相除法求最大公约数、最小公倍数

    辗转相除法,又称欧几里得算法.两个正整数a和b(a>b),它们的最大公约数等于余数c和较小的数b之间的最大公约数.最小公倍数=两数之积/最大公约数 #include <stdio.h> ...

随机推荐

  1. PHP7 学习笔记(十三)composer详解一

    摘要 从拷贝第三方代码到项目中(1994),到PEAR安装依赖包(1999),再到Composer兴起(2012),PHP社区经历了将近20年的探索.PHP这门古老的语言,也在不断的发展更新,在web ...

  2. springBoot中的定时任务

    springBoot中的定时任务 1:在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置 2:新建ScheduledTasks任务类 : package c ...

  3. 017、RUN、CMD、ENTRYPOINT (2019-01-08 周二)

    参考https://www.cnblogs.com/CloudMan6/p/6875834.html   RUN CMD ENTRYPOINT 这三个Dockerfile指令看上去很类似,很容易混淆. ...

  4. elementUi模态框使用baiduMap错误记录

    报错如下,可能是因为目标div还没生成 elementUi文档说明 在dom生成后再调用,正常 buildMap(){ let map = new BMap.Map("allmap" ...

  5. C#中转换函数Convert、Parse、TryParse、(int) 的区别

    Convert.Parse.TryParse.(int) 三个函数都是将值转换成整数,但是四者之间各有异同,开发人员可以根据情况选用最合适的.以下解释均经过高人验证,希望对大家有所帮助. 1 (int ...

  6. Android SVN上传项目

    方式一: 1 工具栏 VCS ——import into Version Control - Share Project (SubVersion)(注意不要用import into SubVersio ...

  7. SQL中间

    -- 查询门诊挂号退费的账单:有4条记录 select * from `thc_rcm`.`Cs_AccountBill` a where a.orderSource = 1 and a.orderT ...

  8. 四、文件IO——内核数据结构和原子操作

    4.1 缓存 buff 说明 一般设置缓存 buff  的大小是由一定的规律的,就是根据磁盘块的大小来定. Linux下输入命令: df -k  查看磁盘 可以用命令查看下 /dev/sda1 磁盘的 ...

  9. 使用PHP连接数据库实现留言板功能

    PHP实现留言板功能: 1 首先是登录页面: <!DOCTYPE html><html>    <head>        <meta charset=&qu ...

  10. tensorflow的特征工程函数

    1. # creates a real valued column for dense numeric data tf.contrib.layers.real_valued_column(    co ...