# LCM of digits of a given number

Given a number n, find LCM of its digits.

Examples:

Input : 397
Output : 63
LCM of 3, 9 and 7 is 63.

Input : 244
Output : 4
LCM of 2, 4 and 4 is 4.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

We traverse the digits of number one by one below loop

digit = n mod 10;
n = n / 10;

While traversing digits, we keep track of current LCM and keep updating LCM by finding LCM of current digit with current LCM.

## C++

 // CPP program to find LCM of digits of a number #include #include using namespace std;    int digitLCM(int n) {     int lcm = 1;     while (n > 0)     {         lcm = boost::math::lcm(n%10, lcm);            // If at any point LCM become 0.         // return it         if (lcm == 0)             return 0;            n = n/10;     }     return lcm; }    // driver code int main() {     long n = 397;     cout << digitLCM(n);     return 0; }

## Java

 // Java program to find LCM of digits of a number    class GFG { // define lcm function static int lcm_fun(int a, int b) {     if (b == 0)         return a;     return lcm_fun(b, a % b); }    static int digitLCM(int n) {     int lcm = 1;     while (n > 0)     {         lcm = (n % 10 * lcm) / lcm_fun(n % 10, lcm);            // If at any point LCM become 0.         // return it         if (lcm == 0)             return 0;            n = n/10;     }     return lcm; }    // driver code public static void main(String[] args) {     int n = 397;     System.out.println(digitLCM(n)); } } // This code is contributed by mits

## Python3

 # Python3 program to find # LCM of digits of a number    # define lcm function def lcm_fun(a, b):        if (b == 0):         return a;     return lcm_fun(b, a % b);    def digitLCM(n):        lcm = 1;     while (n > 0):         lcm = int((n % 10 * lcm) /                lcm_fun(n % 10, lcm));            # If at any point LCM          # become 0. return it         if (lcm == 0):             return 0;            n = int(n / 10);            return lcm;    # Driver code n = 397; print(digitLCM(n));    # This code is contributed by mits

## C#

// C# program to find LCM of digits
// of a number
class GFG
{

// define lcm function
static int lcm_fun(int a, int b)
{
if (b == 0)
return a;
return lcm_fun(b, a % b);
}

static int digitLCM(int n)
{
int lcm = 1;
while (n > 0)
{
lcm = (n % 10 * lcm) / lcm_fun(n % 10, lcm);

// If at any point LCM become 0.
// return it
if (lcm == 0)
return 0;

n = n/10;
}
return lcm;
}

// Driver Code
public static void Main()
{
int n = 397;
System.Console.WriteLine(digitLCM(n));
}
}

// This code is contributed by mits

## PHP

 0)     {         \$lcm = (int)((\$n % 10 * \$lcm) /                lcm_fun(\$n % 10, \$lcm));            // If at any point LCM          // become 0. return it         if (\$lcm == 0)             return 0;            \$n = (int)(\$n / 10);     }     return \$lcm; }    // Driver code \$n = 397; echo digitLCM(\$n);    // This code is contributed by mits ?>

Output:

63

This article is contributed by nikunj_agarwal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.