`
lg_asus
  • 浏览: 184372 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

求N个数据的最大公约数和最小公倍数

 
阅读更多
gcd: greatest common divisor  最大公约数
lcm: least common multiplier  最小公倍数

如果是N=2的话,
求gcd:
loop:
if a > b:
   temp = a % b
   if temp == 0: 
       gcd = b
   a = b
   b = temp
else:
    ...

求lcm的话就是 a * b / gcd

当 N > 2时,需要递归,先求前2个数的gcd & lcm,然后把它和第3个再进行求,第4个...

数学分析,首先找出各个数的全部因子,gcd就是取这些因子中的公共部分,lcm就是因子的并集。
以8 10 12三个数分析:
8 = 2 * 2 * 2
10 = 2 * 5
12 = 2 * 2 * 3
gcd就是2, lcm就是2 * 2 * 2 * 5 * 3

求一个数的所有因子见我的另一篇blog。

PS:刚在网上看到证两个整数是否互质(互质就是两个整数只有共同因子1),就可以用gcd.
def gcd(m, n):
     if n== 0:
         return m;
      return gcd(n, m%n);

if gcd(m, n) ==1:
   print('relatively prime');
分享到:
评论

相关推荐

    c++ 求N个数的最大公约数和最小公倍数

    今天在课堂上,老师讲解了如何求两个正整数c1和c2的最大公约数和最小公倍数。现在Hankson认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知...

    Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例

    主要介绍了Python基于递归和非递归算法求两个数最大公约数、最小公倍数,涉及Python递归算法、流程循环控制进行数值运算相关操作技巧,需要的朋友可以参考下

    java求两个整数最大公约数和最小公倍数

    1. Java不同数据类型变量的使用 ①定义不同的字符变量,依次给这些变量赋值:’A’,’2’,’猫’,’b’并输出结果;...2. 计算最小公倍数和最大公约数 ①定义两个整型变量m,n; ②计算最大公约数; ③最小公倍数;

    PTA-公因数与公约数

    最大公因数(Greatest Common Divisor,简称GCD),也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一...编写程序,从键盘读入两个整数m和n(使用空格分隔),然后输出m和n的最大公约数和最小公倍数到屏幕。

    C程序的一些相关计算和排序

    是关于一些C程序的计算和排序,如判断素数,求闰年,求N的阶乘,求m和n最大公约数和最小公倍数等等

    单片机常用的14个C语言算法

    算法(Algorithm):计算机解题的基本思想方法和步骤。...二、求两个整数的最大公约数、最小公倍数分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数)(1) 对于已知两数m,n,使得m>n;(2) m除以

    C语言实验报告——函数

    1.编写一个函数primeNum(int num),它的功能是判别一个数是否为素数。如果num是素数,返回该数;...编写两个函数,一个函数gcd()的功能是求两个整数的最大公约数,另一个函数mul()的功能是求两个整数的最小公倍数。

    数据结构与算法

    最大公因数、最小公倍数、因式分解 完美数 阿姆斯壮数 最大访客数 中序式转后序式(前序式) 后序式的运算 关于赌博 洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 ...

    c程序设计习题参考(谭浩强三版)习题参考解答

    6.1输入两个正整数m和n,求其最大公约数和最小公倍数。 17 6.2输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数。 18 6.3 18 6.4求∑n!(即求1+2!+…+20!)。 19 6.5求 19 6.6打印出所有的“水仙...

    C语言常用算法(很全,内有详细例子)

    常用算法一 一、计数、求和、求阶乘...二、求两自然数的最大公约数和最小公倍数 三、判断素数 四、验证哥德巴赫猜想 五、穷举法 五、穷举法 常用算法二 排序问题 1.选择法排序 2.冒泡法排序(升序) 数据查找 ……

    多项式运算器

    完成了多项式的加减乘除积分求导以及最大公约数最小公倍数的计算等功能,程序有说明,很简单的

    2018计算机导论与程序设计-14.pdf

    输入两个数m和n,求其最大公约数和 最小公倍数。 1)明确问题基本概念编辑 若干个互质数的最小公倍数为它们 的乘积的绝对值。 2020/3/17 xidian Prof. wangjunping 16 预备知识 倍数和约数 如果数a能被数b整除,a就...

    java经典编程题

    3.输入两个正整数,求这两个数的最大公约数和最小公倍数; 4.输入一行字符,统计其中英文字母,空格,数字和其他字符的个数; 5.一个整数加上100后是个完全平方数,加上168后也是一个完全平方数,求这个数; 6.输出9...

    C 语言 算法 代码 数据结构

    最大公因数、最小公倍数、因式分解 完美数 阿姆斯壮数 最大访客数 中序式转后序式(前序式) 后序式的运算 关于赌博 洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列...

    C语言参考答案汇总(浙江大学城市学院)

    40011 求最小公倍数和最大公约数(调试示例error04_1) 32 40012 求1-1/4+1/7-1/10+1/13-1/16+…… 33 40014 求整数的位数 34 40023 换硬币 35 40024 找出各位数字的立方和等于它本身的数 36 40025 找完数...

    ACM 算法经典代码 数据结构经典代码

    7.最大公约数、最小公倍数 8.组合序列 9.快速傅立叶变换(FFT) 10.Ronberg算法计算积分 11.行列式计算 12.求排列组合数 字符串处理: 1.字符串替换 2.字符串查找 3.字符串截取 计算几何: 1...

    C C++算法实例.c

    2.求两数的最小公倍数 3.素数的求法 二、图论算法 1.最小生成树 A.Prim算法: B.Kruskal算法:(贪心) 2.最短路径 A.标号法求解单源点最短路径: B.Floyed算法求解所有顶点对之间的最短路径: C. Dijkstra 算法...

    10.第十章 函数.txt

    例:求任意两个正整数的最大公约数(GCD)和最小公倍数(LCM)。 /*求最大公约数用辗转相除法*/ #include int main() { int i1,i2,i3,i4,gcd,lcm,temp; printf("Input i1 and i2:"); scanf("%d%d",&i1;,&i2;...

    经典算法全部用C语言实现

    最大公因数、最小公倍数、因式分解 完美数 阿姆斯壮数 最大访客数 中序式转后序式(前序式) 后序式的运算 关于赌博 洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列...

Global site tag (gtag.js) - Google Analytics