下面的方法是用递归解决的。如求几个整数的最小公倍数的时候,先求前两个的最小公倍数,然后求这个数与第三个数的最小公倍数,依次,即可求出。
public class LeastCommonMultiple
{
public static void main(String[] args)
{
int[] arr = {6, 9, 3, 12};
int result = -1;
LeastCommonMultiple lcm = new LeastCommonMultiple();
result = lcm.getMinCommonMultiple(arr);
System.out.println(result);
result = lcm.getMaxDivisor(arr);
System.out.println(result);
}
public int getMinCommonMultiple(int[] arr)
{
int result = arr[0];
for(int i=1; i<arr.length; i++)
{
result = getMinCommonMultiple(result, arr[i]);
}
return result;
}
public int getMaxDivisor(int[] arr)
{
int result = arr[0];
for(int i=1; i<arr.length; i++)
{
result = getMaxDivisor(result, arr[i]);
}
return result;
}
public int getMinCommonMultiple(int a, int b)
{
int result = -1;
int temp = -1;
temp = getMaxDivisor(a, b);
result = a * b;
result = result / temp;
return result;
}
public int getMaxDivisor(int a, int b)
{
int temp = -1;
if(a < b)
{
temp = a;
a = b;
b = temp;
}
while(b != 0)
{
a = a % b;
temp = a;
a = b;
b = temp;
}
return a;
}
}
输出为:
36
3
分享到:
相关推荐
以上代码片段展示了如何在C语言中实现最大公约数和最小公倍数的计算。欧几里得算法是解决此类问题的有效方法,而通过最大公约数计算最小公倍数则是利用了数学中的基本公式。这些代码段可以帮助读者更好地理解如何在...
给定的部分代码示例是用C语言编写的,用于计算输入的两个整数m和n的最大公约数和最小公倍数。代码首先读取用户输入的两个整数m和n,然后根据较大的数赋值给p,较小的数赋值给q。接下来,代码使用while循环和欧几里得...
- `private void button1_Click(object sender, EventArgs e)` 方法是主要的计算逻辑部分,它实现了求两个整数的最大公约数和最小公倍数的功能。 - 首先将用户输入的两个整数转换为`int`类型。 - 如果输入的第一个...
除了最大公约数和最小公倍数的基本概念和应用外,还有其他几个与之相关的数学概念值得关注: - **质数**: 只有两个因数的数,1和它本身。 - **互质**: 两个或多个整数的唯一公约数为1的情况。 - **质因数分解**: 将...
在这里,我们将讨论如何用VB编写程序来计算两个整数的最大公约数和最小公倍数。 首先,我们来看最大公约数。最大公约数是两个或多个非零整数共有的最大正除数。有几种常见的算法可以计算GCD,其中最著名的是...
最大公约数是指两个或多个非零整数共有的最大正因数。在C语言中,可以使用辗转相除法(欧几里得算法)或更相减损法来求解。辗转相除法通过不断用较大的数除以较小的数,然后取余数,直至余数为0,最后的除数就是...
最小公倍数是指两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。最小公倍数=两整数的乘积÷最大公约数 , 所以怎么求最大公约数是关键。 源代码演示: #...
这两个函数分别实现了欧几里得算法和公式法,可以方便地求解任意两个整数的最大公约数和最小公倍数。在实际应用中,我们可能需要处理多个数的公约数和公倍数问题,这时可以扩展这些函数,例如通过循环处理多个数。 ...
今天在课堂上,老师讲解了如何求两个正整数c1和c2的最大公约数和最小公倍数。现在Hankson认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知...
### 最大公约数和最小公倍数 #### 知识点概述 本篇文章将通过两个C语言程序来探讨最大公约数(Greatest Common Divisor, GCD)与最小公倍数(Least Common Multiple, LCM)的概念及其计算方法。最大公约数是指两个...
在数学领域,最小公倍数(LCM,Least Common Multiple)是两个或多个整数共有倍数中最小的一个。在日常编程和算法设计中,计算最小公倍数是一项基础但重要的任务,尤其在处理数学问题或者需要进行数值运算的场景。本...
【知识点详解】 ...通过以上知识点的阐述,我们可以了解到最大公约数和最小公倍数的概念、计算方法以及它们在数论中的应用。这些知识对于解决涉及整数除法的问题非常关键,是数学基础教育的重要组成部分。
在实际应用中,可以通过各种方法求解最大公约数和最小公倍数,如例题所示,分别用枚举法、分解质因数法和短除法求解了不同组合的数的最大公约数和最小公倍数。 此外,还涉及到找特定数的质因数分解,以及解决与最大...
- 求几个数的最小公倍数,如25和30,24和30等。 - 应用题涉及到实际问题,如裁剪铁板、锯木头等,这些都需要利用最大公因数来确定无剩余的切割尺寸。 - 还有一些问题涉及到找出能整除特定数的公共因子,如问题3,找...
在C语言中,求最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是常见的算法问题,主要应用于数论和计算机科学领域。本文将详细介绍几种不同的方法来解决这个问题。 1. **...
此外,还可以探讨如何扩展这个功能,以处理多个整数的最大公约数,或者如何与其他数学概念结合,比如最小公倍数。 总的来说,这个压缩包提供了一个学习和实践基础算法的好机会,对于初学者来说,能够加深对编程和...
基本思想是:对于任意两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。可以用递归的形式表示为:gcd(a, b) = gcd(b, a % b)。当b等于0时,a就是两数的最大公约数。这种方法的效率很...
利用最大公约数和最小公倍数之间的关系(即两个数的乘积等于它们的最大公约数与最小公倍数的乘积),可以高效地计算出最小公倍数。 #### 关键代码分析 程序的关键部分包括了`gcd`函数和`main`函数。 1. **`gcd`...
7. 乙数应是48,因为18和48与6和144分别对应最大公约数和最小公倍数。 8. 每组最多有18个小朋友,因为18是36、48、54的最大公约数。 9. 在下面的算式中... 以上内容涉及了最大公因数、最小公倍数、整除性质、质数与...