📜  无需使用GCD即可查找2个数字的LCM的程序

📅  最后修改于: 2021-04-27 18:40:55             🧑  作者: Mango

此处说明了使用GCD查找LCM,但此处的任务是在不首先计算GCD的情况下查找LCM。
例子:

Input: 7, 5
Output: 35

Input: 2, 6
Output: 6

方法是从2个数字中的最大数字开始,并保持其自身递增,直到较小的数字完美地划分结果为止。

C++
// C++ program to find LCM of 2 numbers
// without using GCD
#include 
using namespace std;
 
// Function to return LCM of two numbers
int findLCM(int a, int b)
{
    int lar = max(a, b);
    int small = min(a, b);
    for (int i = lar; ; i += lar) {
        if (i % small == 0)
            return i;
    }
}
 
// Driver program to test above function
int main()
{
    int a = 5, b = 7;
    cout << "LCM of " << a << " and "
         << b << " is " << findLCM(a, b);
    return 0;
}


Java
// Java program to find LCM of 2 numbers
// without using GCD
import java.io.*;
import java.lang.*;
 
class GfG {
     
    // Function to return LCM of two numbers
    public static int findLCM(int a, int b)
    {
        int lar = Math.max(a, b);
        int small = Math.min(a, b);
        for (int i = lar; ; i += lar) {
            if (i % small == 0)
                return i;
        }
    }
     
    // Driver program to test above function
    public static void main(String [] argc)
    {
        int a = 5, b = 7;
        System.out.println( "LCM of " + a + " and "
            + b + " is " + findLCM(a, b));
         
    }
}
 
// This dose is contributed by Sagar Shukla.


Python 3
# Python 3 program to find
# LCM of 2 numbers without
# using GCD
import sys
 
# Function to return
# LCM of two numbers
def findLCM(a, b):
 
    lar = max(a, b)
    small = min(a, b)
    i = lar
    while(1) :
        if (i % small == 0):
            return i
        i += lar
     
# Driver Code
a = 5
b = 7
print("LCM of " , a , " and ",
                  b , " is " ,
      findLCM(a, b), sep = "")
 
# This code is contributed
# by Smitha


C#
// C# program to find
// LCM of 2 numbers
// without using GCD
using System;
 
class GfG
{
     
    // Function to return
    // LCM of two numbers
    public static int findLCM(int a,
                              int b)
    {
        int lar = Math.Max(a, b);
        int small = Math.Min(a, b);
        for (int i = lar; ; i += lar)
        {
            if (i % small == 0)
                return i;
        }
    }
     
    // Driver Code
    public static void Main()
    {
        int a = 5, b = 7;
        Console.WriteLine("LCM of " + a +
                            " and " + b +
                                 " is " +
                          findLCM(a, b));
         
    }
}
 
// This code is contributed by anuj_67.


PHP


Javascript


输出:
LCM of 5 and 7 is 35