如何在一组数字上找到GCD,LCM

用户339108:

在一组数字上计算最大公除数和最小公倍数的最简单方法是什么?哪些数学函数可用于查找此信息?

杰弗里·汉汀(Jeffrey Hantin):

我已经使用Euclid算法找到了两个数字的最大公约数。可以迭代以获得更大数量的GCD。

private static long gcd(long a, long b)
{
    while (b > 0)
    {
        long temp = b;
        b = a % b; // % is remainder
        a = temp;
    }
    return a;
}

private static long gcd(long[] input)
{
    long result = input[0];
    for(int i = 1; i < input.length; i++) result = gcd(result, input[i]);
    return result;
}

最小公倍数有些棘手,但最好的方法可能是通过GCD进行缩减,可以类似地进行迭代:

private static long lcm(long a, long b)
{
    return a * (b / gcd(a, b));
}

private static long lcm(long[] input)
{
    long result = input[0];
    for(int i = 1; i < input.length; i++) result = lcm(result, input[i]);
    return result;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在bash中找到字符串中最大的一组数字

如何找到一组三个或更多的数字?

如何在一组而不是另一组中找到产品

如何在python中找到一组密钥对

如何在一组单词中找到字谜?

如何在Excel中递增同一组数字

如何在.each()上添加一组不同的值?

如何在一组点上绘制矩形?

如何找到一组连续整数中介于数字之间的位置

Excel-在一组数字中找到最大的差距?

如何在一组单词中找到一个句子并加入单词

如何在一组DOM元素中找到具有给定ID的元素?

如何在Excel中找到两个变量的非唯一组合?

如何在Excel中找到一组重复的单元格?

如何在一组坐标中找到最大的x,y坐标?

如何在找到一组 id 的 api 中等待循环完成?SailsJs

如何在一组脚本中找到包含列表中文本的条目?

如何在Excel中的一组数据中找到未知平均值

如何在php中的字母块中找到一组特定的字母

如何在给定一组值的情况下找到数组中剩余的 % 值?

在 Python 中,如何将一组数字随机分布到网格/矩阵上?

在一组矩阵上找到for循环的复杂性

如何在给定的一组数字中使用逗号而不是空格

如何在texview中显示Firebase中一组数字的总和

我如何在JavaScript Regexp中检查这样的一组数字?

如何在dart中随机分配一组固定数字的顺序?

如何在要打印的数组/矩阵中设置一组特定的数字?

如何在 select 子句中按一组相同的值给出特定的数字?

如何找到一组对中的一对之间的元素?