Алгоритм не является специфичным для C ++. AFAIK, нет стандартной библиотечной функции.
Чтобы вычислить LCM, вы сначала рассчитываете GCD (Величайший общий делитель), используя алгоритм Евклида.
http://en.wikipedia.org/wiki/Greatest_common_divisor
Алгоритм GCD обычно задается для двух параметров, но ...
GCD (a, b, c) = GCD (a, GCD (b, c))
= GCD (b, GCD (a, c))
= GCD (c, GCD (a, b))
= ...
Чтобы вычислить LCM, используйте ...
a * b
LCM (a, b) = ----------
GCD (a, b)
Логика для этого основана на простой факторизации. Более общая форма (более двух переменных): ...
a b
LCM (a, b, ...) = GCD (a, b, ...) * --------------- * --------------- * ...
GCD (a, b, ...) GCD (a, b, ...)
РЕДАКТИРОВАТЬ - на самом деле, я думаю, что последний бит может быть неправильным. Впрочем, первый LCM (для двух параметров) правильный.