Kotlin Program to Find Factorial of a number

In this article, we will understand how to find the factorial of a number. Factorial of a number is the product of itself with each of its lower numbers.

Below is a demonstration of the same ?

Suppose our input is

Enter the number : 5

The desired output would be ?

The factorial of 5 is 120

Algorithm

  • Step 1 ? Start

  • Step 2 ? Declare three integers: input, myResult and i

  • Step 3 ? Hardcode the integer

  • Step 4 ? Run a for-loop, multiply the number with its lower number and run the loop till the number is reduced to 1.

  • Step 5 ? Display the result

  • Step 6 ? Stop

Example 1

In this example, we will calculate the factorial of a number in Kotlin using for loop. First, declare and set the input for which we will find the factorial later ?

val input = 5

Set a variable wherein the factorial result will be displayed

var myResult: Long = 1

Now, use the for loop to calculate the Factorial:

<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">for</span> <span class="token punctuation">(</span>i <span class="token keyword">in</span> <span class="token number">1</span><span class="token operator">..</span>input<span class="token punctuation">)</span> <span class="token punctuation">{</span>
   myResult <span class="token operator">*=</span> i<span class="token punctuation">.</span><span class="token function">toLong</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
</div>

Let us now see the complete example to calculate the Factorial of an integer ?

<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> input <span class="token operator">=</span> <span class="token number">5</span>
   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The input value is defined as <span class="token interpolation variable">$input</span>"</span><span class="token punctuation">)</span>
   <span class="token keyword">var</span> myResult<span class="token operator">:</span> Long <span class="token operator">=</span> <span class="token number">1</span>

   <span class="token keyword">for</span> <span class="token punctuation">(</span>i <span class="token keyword">in</span> <span class="token number">1</span><span class="token operator">..</span>input<span class="token punctuation">)</span> <span class="token punctuation">{</span>
      myResult <span class="token operator">*=</span> i<span class="token punctuation">.</span><span class="token function">toLong</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
   <span class="token punctuation">}</span>
   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The factorial of <span class="token interpolation variable">$input</span> 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 value is defined as 10
The factorial of 10 is 120

Example 2

In this example, we will calculate the factorial of a number 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> input <span class="token operator">=</span> <span class="token number">5</span>
   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The input value is defined as <span class="token interpolation variable">$input</span>"</span><span class="token punctuation">)</span>
   <span class="token function">printFactors</span><span class="token punctuation">(</span>input<span class="token punctuation">)</span>
<span class="token punctuation">}</span>

<span class="token keyword">fun</span> <span class="token function">printFactors</span><span class="token punctuation">(</span>input<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> Long <span class="token operator">=</span> <span class="token number">1</span>
   <span class="token keyword">for</span> <span class="token punctuation">(</span>i <span class="token keyword">in</span> <span class="token number">1</span><span class="token operator">..</span>input<span class="token punctuation">)</span> <span class="token punctuation">{</span>
      myResult <span class="token operator">*=</span> i<span class="token punctuation">.</span><span class="token function">toLong</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
   <span class="token punctuation">}</span>
   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The factorial of <span class="token interpolation variable">$input</span> 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 number is 5
The factorial of 5 is 120

Example 3

In this example, we will calculate the factorial of a number using Recursion 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> input <span class="token operator">=</span> <span class="token number">7</span>
   <span class="token keyword">val</span> res<span class="token operator">:</span> Long
   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"The input value is defined as <span class="token interpolation variable">$input</span>"</span><span class="token punctuation">)</span>
   
   res <span class="token operator">=</span> <span class="token function">factorialFunc</span><span class="token punctuation">(</span>input<span class="token punctuation">)</span>
   <span class="token function">println</span><span class="token punctuation">(</span><span class="token string">"\nFactorial = <span class="token interpolation variable">$res</span>"</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>

<span class="token keyword">fun</span> <span class="token function">factorialFunc</span><span class="token punctuation">(</span>input<span class="token operator">:</span> Int<span class="token punctuation">)</span><span class="token operator">:</span> Long <span class="token punctuation">{</span>
   <span class="token keyword">return</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>input <span class="token operator">==</span> <span class="token number">1</span><span class="token punctuation">)</span> input<span class="token punctuation">.</span><span class="token function">toLong</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">else</span> input<span class="token operator">*</span><span class="token function">factorialFunc</span><span class="token punctuation">(</span>input<span class="token operator">-</span><span class="token number">1</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 value is defined as 7
Factorial = 5040
Updated on: 2022-10-13T12:51:24+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements