Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Swift Program to Find LCM of two Numbers
This tutorial will discuss how to write a Swift program to find LCM of two numbers.
LCM is also known as Least Common Multiple. It is used to calculate the smallest common multiple between two or more numbers. Here common multiple represents a number which is multiple of two or numbers. For example, we have two numbers 10 and 8
Factor of 10 = 2 x 5
Factor of 8 = 2 x 2 x 2
Union of both factors = 2 x 2 x 2 x 5 = 40
So the LCM of 10 and 8 is 40.
This is the simple method to find the LCM but the most efficient method to find LCM is using the following formula.
Formula
Following is the formula of LCM ?
LCM(n, m) = n *m/gcd(n, m)
Here gcd is known as greatest common divisor.
Below is a demonstration of the same ?
Input
Suppose ou r given input is ?
Number 1 - 10 Number 2 - 8
Output
The desired output would be ?
LCM 40
Algorithm
Following is the algorithm ?
Step 1 ? Create a function named findGCD(). This function returns the GCD of two numbers.
Step 2 ? Create another function named findLCM. This function returns the LCM of two numbers.
return (n1 * n2/findGCD(n1, n2))
Step 3 ? Call the findLCM() function and pass two arguments in it. Here the value of the arguments can be user-defined or pre-defined.
Step 4 ? Print output
Example 1
The following program shows how to find LCM of two numbers.
<div class="execute"></div><div class="code-mirror language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Swift
<span class="token keyword">import</span> Foundation
<span class="token comment">// Function to find gcd of two numbers</span>
func <span class="token function">findGCD</span><span class="token punctuation">(</span>_ num1<span class="token operator">:</span> Int<span class="token punctuation">,</span> _ num2<span class="token operator">:</span> Int<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> Int <span class="token punctuation">{</span>
<span class="token keyword">var</span> x <span class="token operator">=</span> <span class="token number">0</span>
<span class="token comment">// Finding maximum number</span>
<span class="token keyword">var</span> y<span class="token operator">:</span> Int <span class="token operator">=</span> <span class="token function">max</span><span class="token punctuation">(</span>num1<span class="token punctuation">,</span> num2<span class="token punctuation">)</span>
<span class="token comment">// Finding minimum number</span>
<span class="token keyword">var</span> z<span class="token operator">:</span> Int <span class="token operator">=</span> <span class="token function">min</span><span class="token punctuation">(</span>num1<span class="token punctuation">,</span> num2<span class="token punctuation">)</span>
<span class="token keyword">while</span> z <span class="token operator">!=</span> <span class="token number">0</span> <span class="token punctuation">{</span>
x <span class="token operator">=</span> y
y <span class="token operator">=</span> z
z <span class="token operator">=</span> x <span class="token operator">%</span> y
<span class="token punctuation">}</span>
<span class="token keyword">return</span> y
<span class="token punctuation">}</span>
<span class="token comment">// Function to find lcm of two numbers</span>
func <span class="token function">findLCM</span><span class="token punctuation">(</span>n1<span class="token operator">:</span> Int<span class="token punctuation">,</span> n2<span class="token operator">:</span> Int<span class="token punctuation">)</span><span class="token operator">-</span><span class="token operator">></span>Int<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>n1 <span class="token operator">*</span> n2<span class="token operator">/</span><span class="token function">findGCD</span><span class="token punctuation">(</span>n1<span class="token punctuation">,</span> n2<span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token comment">// Calling Function</span>
<span class="token keyword">var</span> result <span class="token operator">=</span> <span class="token function">findLCM</span><span class="token punctuation">(</span>n1<span class="token operator">:</span> <span class="token number">10</span><span class="token punctuation">,</span> n2<span class="token operator">:</span><span class="token number">8</span><span class="token punctuation">)</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"LCM of 10 and 8 is "</span><span class="token punctuation">,</span> result<span class="token punctuation">)</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>
Output
LCM of 10 and 8 is 40
Here, in the above code, we create a function named findGCD () to find the GCD of two numb ers. We create another function named as findLCM() to find the LCM of two numbers using the mathematical formula ?
return (n1 * n2/findGCD(n1, n2))
Now we call the findLCM() function and pass two arguments in it that is 10 and 8 and display the LCM of 10 an d 8 that is 40.
Example 2
The following program shows how to find LCM of two numbers.
<div class="code-mirror language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Swift
<span class="token keyword">import</span> Foundation
<span class="token comment">// Function to find gcd of two numbers</span>
func <span class="token function">findGCD</span><span class="token punctuation">(</span>_ num1<span class="token operator">:</span> Int<span class="token punctuation">,</span> _ num2<span class="token operator">:</span> Int<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> Int <span class="token punctuation">{</span>
<span class="token keyword">var</span> x <span class="token operator">=</span> <span class="token number">0</span>
<span class="token comment">// Finding maximum number</span>
<span class="token keyword">var</span> y<span class="token operator">:</span> Int <span class="token operator">=</span> <span class="token function">max</span><span class="token punctuation">(</span>num1<span class="token punctuation">,</span> num2<span class="token punctuation">)</span>
<span class="token comment">// Finding minimum number</span>
<span class="token keyword">var</span> z<span class="token operator">:</span> Int <span class="token operator">=</span> <span class="token function">min</span><span class="token punctuation">(</span>num1<span class="token punctuation">,</span> num2<span class="token punctuation">)</span>
<span class="token keyword">while</span> z <span class="token operator">!=</span> <span class="token number">0</span> <span class="token punctuation">{</span>
x <span class="token operator">=</span> y
y <span class="token operator">=</span> z
z <span class="token operator">=</span> x <span class="token operator">%</span> y
<span class="token punctuation">}</span>
<span class="token keyword">return</span> y
<span class="token punctuation">}</span>
<span class="token comment">// Function to find lcm of two numbers</span>
func <span class="token function">findLCM</span><span class="token punctuation">(</span>n1<span class="token operator">:</span> Int<span class="token punctuation">,</span> n2<span class="token operator">:</span> Int<span class="token punctuation">)</span><span class="token operator">-</span><span class="token operator">></span>Int<span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>n1 <span class="token operator">*</span> n2<span class="token operator">/</span><span class="token function">findGCD</span><span class="token punctuation">(</span>n1<span class="token punctuation">,</span> n2<span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token comment">// Taking input from the user</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Please enter the value of number 1:"</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> number1 <span class="token operator">=</span> <span class="token function">Int</span><span class="token punctuation">(</span><span class="token function">readLine</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">!</span><span class="token punctuation">)</span><span class="token operator">!</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Please enter the value of number 2:"</span><span class="token punctuation">)</span>
<span class="token keyword">var</span> number2 <span class="token operator">=</span> <span class="token function">Int</span><span class="token punctuation">(</span><span class="token function">readLine</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">!</span><span class="token punctuation">)</span><span class="token operator">!</span>
<span class="token comment">// Calling Function</span>
<span class="token keyword">var</span> result <span class="token operator">=</span> <span class="token function">findLCM</span><span class="token punctuation">(</span>n1<span class="token operator">:</span> number1<span class="token punctuation">,</span> n2<span class="token operator">:</span>number2<span class="token punctuation">)</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"So the LCM of \(number1) and \(number2) is "</span><span class="token punctuation">,</span> result<span class="token punctuation">)</span>
</div>
STDIN Input
Please enter the value of number 1: 26 Please enter the value of number 2: 35
Output
So the LCM of 26 and 35 is 910
Here, in the above code, we create a function named findGCD () to find the GCD of two numbers. We create another function named as findLCM() to find the LCM of two numbers using the mathematical formula ?
return (n1 * n2/findGCD(n1, n2))
Here we take the two number of integer type from the user using readLine() function. And call the findLCM() function and pass these two numbers as an argument and display the output. Suppose user enter number1 = 26 and number2 = 35 so their LCM is 910.
