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
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
