`
lg_asus
  • 浏览: 191765 次
  • 性别: 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语言求最大公约数和最小公倍数

    根据提供的文件信息,本文将详细解释如何使用C语言来实现最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)的计算。 ### 最大公约数(GCD) #### 概念 最大公约数是指两个...

    C语言求两个数的最大公约数和最小公倍数

    尤其是在编程与算法设计中,求解两个数的最大公约数(Greatest Common Divisor,简称GCD)和最小公倍数(Least Common Multiple,简称LCM)是基础而重要的数学概念,广泛应用于各种计算机科学场景,如数据结构、加密...

    求最大公约数和最小公倍数

    最大公约数和最小公倍数是数学中两个重要的概念,它们在算法设计、数据分析和科学计算等领域都有着广泛的应用。本文将详细介绍两种常用的计算最大公约数和最小公倍数的方法,即欧几里得算法和Stein算法,并提供了...

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

    而“求两个整数的最大公约数和最小公倍数”可能是实际的C++源代码文件,包含上述的函数定义和主函数的实现。 总的来说,了解和掌握最大公约数和最小公倍数的计算对于编程基础和算法理解至关重要,因为它们在很多...

    最大公约数最小公倍数n-s盒图

    在计算机科学领域,最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是两个基本的数学概念,它们在算法设计和数据分析中广泛应用。N-S盒图(NS-Box Diagram),又称诺依曼-...

    输入两个正整数m和n求其最大公约数和最小公倍数 (2).pdf

    1. **最大公约数(GCD)和最小公倍数(LCM)**:这是基本的数论问题,可以使用欧几里得算法(辗转相除法)来解决。 2. **字符统计**:涉及字符串遍历和计数,通常使用循环和条件判断实现。 3. **位数计算**:通过...

    1.最小公倍数、最大公约数的c语言程序

    在计算机编程领域,最小公倍数(Least Common Multiple, LCM)和最大公约数(Greatest Common Divisor, GCD)是两个基本的数学概念,它们在算法设计和数据分析中经常被用到。C语言是一种广泛应用的编程语言,用于...

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

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

    求最大公约数最小公倍数

    根据给定文件的信息,本文将深入探讨如何计算两个整数的最大公约数(Greatest Common Divisor,简称GCD)和最小公倍数(Least Common Multiple,简称LCM)。这两个概念在数学和计算机科学中有着广泛的应用,特别是在...

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

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

    C++ 递归 最大公约数与最小公倍数

    在编程领域,最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是两个重要的数论概念,它们广泛应用于算法设计、数据分析以及数学问题解决。在这个C++程序中,我们使用递归...

    求最大公约数和最小公倍数.docx

    这个题目要求我们编写一个Java方法来计算两个正整数m和n的最大公约数和最小公倍数。以下是对给出代码的详细解释: 首先,我们看到方法`method6`接收两个整数参数m和n,并返回一个包含两个元素的数组。数组的第一个...

    c++简单习题求两个整数的最大公约数和最小公倍

    在C++编程中,我们经常会遇到各种基础问题,如计算最大公约数(Greatest Common Divisor, GCD)、最小公倍数(Lowest Common Multiple, LCM)、位操作、解决数学问题、数组排序以及数据类型转换等。下面将详细解释这些...

    求最大公约数和最小公倍

    在计算机科学中,最大公约数(Greatest Common Divisor,GCD)和最小公倍数(Least Common Multiple,LCM)是两个重要的概念,广泛应用于数学、计算机科学、数据分析等领域。在本文中,我们将详细讲解最大公约数和...

    最大公约数和最小公倍数

    在计算机科学中,最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是两个整数之间的重要数学概念。这些概念不仅在理论数学中有广泛的应用,而且在编程中也有着重要的作用,...

    用C语言实现最大公约数和最小公倍数的求法

    在编程领域,计算两个正整数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是基础且常见的任务,尤其在算法和数学问题解决中经常遇到。本篇文章将深入探讨如何使用C语言...

    输入两个正整数m和n,求最小公倍数,与最大公约数 (2).pdf

    本文将详细探讨如何使用编程方法计算两个正整数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)。首先,我们来看如何用辗转相除法求最大公约数。 辗转相除法,也称为...

    《C语言学习与应用》程序设计参考-最大公约数和最小公倍数.docx

    下面是一个使用C语言编写的程序,用于计算两个正整数的最大公约数和最小公倍数: ```c main(){ int a, b, num1, num2, temp; printf("please input two numbers:\n"); scanf("%d %d", &num1, &num2); if (num1 )...

Global site tag (gtag.js) - Google Analytics