40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Smallest multiple | ||
|  | --- | ||
|  | ## Problem 5: Smallest multiple
 | ||
|  | 
 | ||
|  | ### Method:
 | ||
|  | - In this challenge we need to find the LCM of 1 to n numbers.  | ||
|  | - To find LCM of a number we use the following formula:  | ||
|  |   -  | ||
|  | - To find GCD (Greatest Common Divisor) of two number we use Euclidean algorithm. | ||
|  | - Once we get LCM of two numbers, we can get LCM of the numbers from 1 to n. | ||
|  | 
 | ||
|  | ### Solution:
 | ||
|  | ```js | ||
|  | //LCM of two numbers | ||
|  | function lcm(a, b){ | ||
|  |   return (a*b)/gcd(a, b); | ||
|  | } | ||
|  | 
 | ||
|  | //Euclidean recursive algorithm  | ||
|  | function gcd(a, b){ | ||
|  |   if (b === 0) return a; | ||
|  |   return gcd(b, a%b); | ||
|  | } | ||
|  | 
 | ||
|  | function smallestMult(n){ | ||
|  |   let maxLCM = 1; | ||
|  |    | ||
|  |   //Getting the LCM in the range | ||
|  |   for (let i = 2; i <= n; i++){ | ||
|  |     maxLCM = lcm(maxLCM, i); | ||
|  |   } | ||
|  |   return maxLCM; | ||
|  | } | ||
|  | ```   | ||
|  | - [Run Code](https://repl.it/@ezioda004/Problem-5-Smallest-multiple) | ||
|  | ### References:
 | ||
|  | - [Euclidean algorithm](https://en.wikipedia.org/wiki/Euclidean_algorithm) | ||
|  | - [LCM](https://en.wikipedia.org/wiki/Least_common_multiple) |