File Exchange

image thumbnail

Least Common Multiple Set

version 1.3 (1.26 KB) by

Input a set of numbers as an n-dimension array, get their least common multiple.



View License

I wanted to find the least common multiple of a group of more than two numbers. Matlab's built in lcm function does not have this capability. It accepts two integer inputs, but cannot handle more. So I wrote lcms. lcms uses the prime factorization method to determine the least common multiple of a set of numbers. It is pretty simple.

z = lcms(numberArray)

This function accepts any n-dimensional array of natural numbers as input (Zeros do not change the output of the program).

Example usage of lcms:

>> lcms([1 2 3 4 6 8 12 24])

ans =


>> A = [5 6; 8 10; 12 14]

A =

5 6
8 10
12 14

>> lcms(A)

ans =



Having a 0 in your input array will not affect the program.


lcms([0 1 2 3]) returns a 6.
lcms([1 2 3]) also returns a 6.

Having negative numbers or non-integer types in your input error will result in an error message.


lcms([2.5 3 2 8]) results in an error.
lcms([5 2 -3 1]) results in an error.

Comments and Ratings (8)

Very useful. Thank you.


Thong (view profile)

Thank you! I wish I'd found this 12 hours ago :)

Yavor Kamer


Justin (view profile)

I had the same problem and found your function. Thanks, Josh, very useful indeed.



Input is more robust. Now you use any n-dimensional array instead of a row vector.

Error behavior is more clear.

MATLAB Release
MATLAB 7.8 (R2009a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today