package Ġcom . cr az yle g end . data structures and algorithms . mat hematic s ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġh rist ij an Ġon Ġ 3 / 2 9 / 1 9 Ġto Ġlong Ġlive Ġand Ġpro sper Ġ! Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠThe Ġleast Ġcommon Ġmultiple Ġis Ġfound Ġout Ġby Ġusing Ġthe Ġprinciple Ġthat Ċ Ġ* Ġl cm ( a , Ġb ) Ġ= Ġ( a Ġ* Ġb ) Ġ/ Ġgcd ( a , Ġb ) Ċ Ġ* Ċ Ġ* ĠAnd Ġusing Ġan Ġefficient Ġalgorithm Ġcalled Ġthe ĠE uclidean Ġalgorithm Ġto Ġcompute Ġthe Ġgreatest Ġcommon Ġdivisor . Ċ Ġ*/ Ċ fun Ġfind Least Common Multiple ( a : ĠInt , Ġb : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġfun Ġfind G reatest Common Div isor ( first : ĠLong , Ġsecond : ĠLong ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsmaller Ġ= Ġif Ġ( first Ġ<= Ġsecond ) Ġfirst Ġelse Ġsecond ĊĠĠĠĠĠĠĠ Ġval Ġbigger Ġ= Ġif Ġ( first Ġ> Ġsecond ) Ġfirst Ġelse Ġsecond ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( big ger Ġ% Ġsmaller Ġ== Ġ 0 L ) Ġsmaller ĊĠĠĠĠĠĠĠ Ġelse Ġfind G reatest Common Div isor ( smaller , Ġbigger Ġ% Ġsmaller ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġ(( a Ġ* Ġb ) Ġ/ Ġfind G reatest Common Div isor ( a . to Long (), Ġb . to Long ())). toInt () Ċ }