Kotlin Program to Find GCD of two Numbers

In this article, we will understand how to find the GCD of two numbers in Kotlin. Greatest Common Divisor (GCD) of two numbers is the largest number that divides both.

Below is a demonstration of the same

Suppose our input is

Value 1 : 18
Value 2 : 24

The desired output would be

GCD of the two numbers: 6

Algorithm

  • Step 1 ? Start

  • Step 2 ? Declare three integers: input1, input2 and myResult

  • Step 3 ? Define the integer

  • Step 4 ? Check that the number divides both (input1 and input2) numbers completely or not. If divides completely store it in a variable.

  • Step 5 ? Display the ?i? value as GCD of the two numbers

  • Step 6 ? Stop

Example 1

In this example, we will find the GCD of two numbers in Kotlin using while loop. First, declare and set the two inputs for which we will find the GCD later

var input1 = 18
var input2 = 24

Also, set a variable for Result

var myResult = 1

Now, use the while loop and get the GCD

<div class="code-mirror  language-kotlin" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">1</span>
   <span class="token keyword">while</span> <span class="token punctuation">(</span>i <span class="token operator"><=</span> input1 <span class="token operator">&&</span> i <span class="token operator"><=</span> input2<span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">if</span> <span class="token punctuation">(</span>input1 <span class="token operator">%</span> i <span class="token operator">==</span> <span class="token number">0</span> <span class="token operator">&&</span> input2 <span class="token operator">%</span> i <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">)</span>
         myResult <span class="token operator">=</span> i
      <span class="token operator">++</span>i
   <span class="token punctuation">}</span>
</div>

Let us now see the complete example

<div class="execute"></div><div class="code-mirror  language-kotlin" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">fun</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
   <span class="token keyword">var</span> input1 <span class="token operator">=</span> <span class="token number">18</span>
   <span class="token keyword">var</span> input2 <span class="token operator">=</span> <span class="token number">24</span>
   <span class="token keyword">var</span> myResult <span class="token operator">=</span> <span class="token number">1</span>

   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The input values are defined as <span class="token interpolation variable">$input1</span> and <span class="token interpolation variable">$input2</span>"</span><span class="token punctuation">)</span>
   <span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">1</span>
   <span class="token keyword">while</span> <span class="token punctuation">(</span>i <span class="token operator"><=</span> input1 <span class="token operator">&&</span> i <span class="token operator"><=</span> input2<span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">if</span> <span class="token punctuation">(</span>input1 <span class="token operator">%</span> i <span class="token operator">==</span> <span class="token number">0</span> <span class="token operator">&&</span> input2 <span class="token operator">%</span> i <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">)</span>
         myResult <span class="token operator">=</span> i
      <span class="token operator">++</span>i
   <span class="token punctuation">}</span>
<span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The result is <span class="token interpolation variable">$myResult</span>"</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

The input values are defined as 18 and 24
The result is 6

Example 2

In this example, we will find the GCD of two numbers in Kotlin ?

<div class="execute"></div><div class="code-mirror  language-kotlin" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">fun</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>

   <span class="token keyword">val</span> input1 <span class="token operator">=</span> <span class="token number">18</span>
   <span class="token keyword">val</span> input2 <span class="token operator">=</span> <span class="token number">24</span>

   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The input values are defined as <span class="token interpolation variable">$input1</span> and <span class="token interpolation variable">$input2</span>"</span><span class="token punctuation">)</span>
   <span class="token function">getGCD</span><span class="token punctuation">(</span>input1<span class="token punctuation">,</span> input2<span class="token punctuation">)</span>
<span class="token punctuation">}</span>

<span class="token keyword">fun</span> <span class="token function">getGCD</span><span class="token punctuation">(</span>input1<span class="token operator">:</span> Int<span class="token punctuation">,</span> input2<span class="token operator">:</span> Int<span class="token punctuation">)</span><span class="token punctuation">{</span>
   <span class="token keyword">var</span> myResult <span class="token operator">=</span> <span class="token number">1</span>
   <span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">1</span>
   <span class="token keyword">while</span> <span class="token punctuation">(</span>i <span class="token operator"><=</span> input1 <span class="token operator">&&</span> i <span class="token operator">>=</span> input2<span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">if</span> <span class="token punctuation">(</span>input1 <span class="token operator">%</span> i <span class="token operator">==</span> <span class="token number">0</span> <span class="token operator">&&</span> input2 <span class="token operator">%</span> i <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">)</span>
         myResult <span class="token operator">=</span> i
      <span class="token operator">++</span>i
   <span class="token punctuation">}</span>
<span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The result is <span class="token interpolation variable">$myResult</span>"</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

The input values are defined as 18 and 24
The result is 6

Example 3

In this example, we will find the GCD of two numbers in Kotlin using while loop but with an alternative way ?

<div class="execute"></div><div class="code-mirror  language-kotlin" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">fun</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
   <span class="token keyword">var</span> input1 <span class="token operator">=</span> <span class="token number">18</span>
   <span class="token keyword">var</span> input2 <span class="token operator">=</span> <span class="token number">24</span>

   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The input values are defined as <span class="token interpolation variable">$input1</span> and <span class="token interpolation variable">$input2</span>"</span><span class="token punctuation">)</span>

   <span class="token keyword">while</span> <span class="token punctuation">(</span>input1 <span class="token operator">!=</span> input2<span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">if</span> <span class="token punctuation">(</span>input1 <span class="token operator">></span> input2<span class="token punctuation">)</span>
         input1 <span class="token operator">-=</span> input2
      <span class="token keyword">else</span>
         input2 <span class="token operator">-=</span> input1
   <span class="token punctuation">}</span>
   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The result is <span class="token interpolation variable">$input1</span>"</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

The input values are defined as 18 and 24
The result is 6
Updated on: 2022-10-13T12:39:09+05:30

879 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements