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 Display Fibonacci Series
Fibonacci sequence is a sequence of numbers in which every number is the sum of the preceding two numbers and the starting number of this sequence are 0 and 1. So the general Fibonacci series is ?
0, 1, 1, 2, 3, 5, 8, 13, 21, ......
Formula
Following is the formula of Fibonacci series ?
F<sub>n</sub> = F<sub>n-1</sub> + F<sub>n-2</sub>
Below is a demonstration of the same ?
Suppose we enter the following input ?
Number = 5
Following is the desired output ?
Fibonacci Series is- 0, 1, 1, 2, 3
We can find the Fibonacci series using any of the following methods ?
Iterative method
Recursion method
Iterative Method
We can create a Fibonacci series using the iterative method. In this method, we use loops to find the series.
Algorithm
The algorithm is explained below ?
Step 1 ? Create a function.
Step 2 ? Declare three variables with values - n1 = 0, n2 = 1, and nR = 0.
Step 3 ? Run a for loop from range 0 to <num and find the fibonacci series by adding the preceding numbers.
Step 4 ? Declare a variable with value - val = 10
Step 5 ? Call the function with one argument and display the final output.
Example
The following program shows how to count the number of digits in an integer using the iterative method.
<div class="execute"></div><div class="code-mirror language-swift" 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> <span class="token class-name">Foundation</span>
<span class="token keyword">import</span> <span class="token class-name">Glibc</span>
<span class="token keyword">func</span> <span class="token function-definition function">fibonacciSeries</span><span class="token punctuation">(</span>num<span class="token punctuation">:</span> <span class="token class-name">Int</span><span class="token punctuation">)</span> <span class="token operator">-></span> <span class="token class-name">Int</span><span class="token punctuation">{</span>
<span class="token comment">// The value of 0th and 1st number of the fibonacci series are 0 and 1</span>
<span class="token keyword">var</span> n1 <span class="token operator">=</span> <span class="token number">0</span>
<span class="token keyword">var</span> n2 <span class="token operator">=</span> <span class="token number">1</span>
<span class="token comment">// To store the result</span>
<span class="token keyword">var</span> nR <span class="token operator">=</span> <span class="token number">0</span>
<span class="token comment">// Adding two previous numbers to find ith number of the series</span>
<span class="token keyword">for</span> <span class="token omit keyword">_</span> <span class="token keyword">in</span> <span class="token number">0</span><span class="token operator">..<</span>num<span class="token punctuation">{</span>
nR <span class="token operator">=</span> n1
n1 <span class="token operator">=</span> n2
n2 <span class="token operator">=</span> nR <span class="token operator">+</span> n2
<span class="token punctuation">}</span>
<span class="token keyword">return</span> n1
<span class="token punctuation">}</span>
<span class="token keyword">var</span> val <span class="token operator">=</span> <span class="token number">10</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string-literal"><span class="token string">"Following is the Fibonacci series:"</span></span><span class="token punctuation">)</span>
<span class="token comment">// Iterate for every number stating from 0 to val</span>
<span class="token keyword">for</span> j <span class="token keyword">in</span> <span class="token number">0</span><span class="token operator">...</span>val<span class="token punctuation">{</span>
<span class="token keyword">let</span> output <span class="token operator">=</span> <span class="token function">fibonacciSeries</span><span class="token punctuation">(</span>num<span class="token punctuation">:</span> j<span class="token punctuation">)</span>
<span class="token function">print</span><span class="token punctuation">(</span>output<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
Following is the Fibonacci series: 0 1 1 2 3 5 8 13 21 34
Here in the above code, we create a function named fibonacciSeries(), which takes one argument and return the fibonacci series. This function uses for loop to calculate the sum of the preceding two numbers to find the next number using the following code ?
<span class="kwd">for</span><span class="pln"> _ </span><span class="kwd">in</span><span class="pln"> </span><span class="lit">0.</span><span class="pun">.<</span><span class="pln">num</span><span class="pun">{</span><span class="pln">
nR </span><span class="pun">=</span><span class="pln"> n1
n1 </span><span class="pun">=</span><span class="pln"> n2
n2 </span><span class="pun">=</span><span class="pln"> nR </span><span class="pun">+</span><span class="pln"> n2
</span><span class="pun">}</span>
Outside the function we create a variable with value named val = 10. Now we use a for loop to display the fibonacci series. This loop starts from 0 to 10, and inside this loop, we call fibonacciSeries() function with an argument which means we call fibonacciSeries() function 10 times to find the series starting from 0 to 10.
Recursive Method
We can create fibonacci series using the recursive method. In this method, we create a recursive function which call itself to find the fibonacci series starting from 1 to till the specified number.
Algorithm
The algorithm is explained below ?
Step 1 ? Create a function.
Step 2 ? Use if-else statement to check if the given number is 1 or 0 if the given number is 1 then return 1. If the given number is 0 return 0.
-
Step 3 ? Return Fibonacci series by calling the function itself.
return fibonacciSeries(num: num - 1) + fibonacciSeries(num: num - 2) Step 4 ? Declare a variable with value - val = 10
Step 5 ? Run a for loop from range 0 to val
Step 6 ? Call the function with one argument and display the final output.
Example
The following program shows how to count the number of digits in an integer using recursive method.
<div class="execute"></div><div class="code-mirror language-swift" 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> <span class="token class-name">Foundation</span>
<span class="token keyword">import</span> <span class="token class-name">Glibc</span>
<span class="token keyword">func</span> <span class="token function-definition function">fibonacciSeries</span><span class="token punctuation">(</span>num<span class="token punctuation">:</span> <span class="token class-name">Int</span><span class="token punctuation">)</span> <span class="token operator">-></span> <span class="token class-name">Int</span><span class="token punctuation">{</span>
<span class="token comment">// Checking number for num 0 and 1</span>
<span class="token comment">// Or we can say it is the base condition for recursive </span>
<span class="token comment">// function </span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>num <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token number">0</span>
<span class="token punctuation">}</span>
<span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>num <span class="token operator">==</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token number">1</span>
<span class="token punctuation">}</span>
<span class="token comment">// To find the with number we add the previous two numbers </span>
<span class="token comment">// Here we find the previous two numbers by calling the function itself and return the result.</span>
<span class="token keyword">return</span> <span class="token function">fibonacciSeries</span><span class="token punctuation">(</span>num<span class="token punctuation">:</span> num <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token function">fibonacciSeries</span><span class="token punctuation">(</span>num<span class="token punctuation">:</span> num <span class="token operator">-</span> <span class="token number">2</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token keyword">var</span> val <span class="token operator">=</span> <span class="token number">10</span>
<span class="token function">print</span><span class="token punctuation">(</span><span class="token string-literal"><span class="token string">"Following is the Fibonacci series:"</span></span><span class="token punctuation">)</span>
<span class="token comment">// Iterate for every number stating from 0 to val</span>
<span class="token keyword">for</span> j <span class="token keyword">in</span> <span class="token number">0</span><span class="token operator">...</span>val<span class="token punctuation">{</span>
<span class="token keyword">let</span> output <span class="token operator">=</span> <span class="token function">fibonacciSeries</span><span class="token punctuation">(</span>num<span class="token punctuation">:</span> j<span class="token punctuation">)</span>
<span class="token function">print</span><span class="token punctuation">(</span>output<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
<span class="typ">Following</span><span class="pln"> </span><span class="kwd">is</span><span class="pln"> the </span><span class="typ">Fibonacci</span><span class="pln"> series</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="lit">3</span><span class="pln"> </span><span class="lit">5</span><span class="pln"> </span><span class="lit">8</span><span class="pln"> </span><span class="lit">13</span><span class="pln"> </span><span class="lit">21</span><span class="pln"> </span><span class="lit">34</span><span class="pln"> </span><span class="lit">55</span>
Here, in the above code we create a recursive function named as fibonacciSeries(). It takes one argument and returns fibonacci series. Now outside the function, we create a variable with value named as val = 10. To display the fibonacci series starting from 0 to 10 we use a for loop, this loop run from 0 to 10 and inside this loop we call the fibonacciSeries() function with an argument and this function return fibonacci series starting from 0 to 10. So the working of the fibonacciSeries() function is ?
<span class="lit">1st</span><span class="pln"> call </span><span class="kwd">of</span><span class="pln"> fibonacciSeries</span><span class="pun">()</span><span class="pln"> </span><span class="kwd">with</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">2nd</span><span class="pln"> call </span><span class="kwd">of</span><span class="pln"> fibonacciSeries</span><span class="pun">()</span><span class="pln"> </span><span class="kwd">with</span><span class="pln"> </span><span class="lit">1</span><span class="pun">:</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="lit">3rd</span><span class="pln"> call </span><span class="kwd">of</span><span class="pln"> fibonacciSeries</span><span class="pun">()</span><span class="pln"> </span><span class="kwd">with</span><span class="pln"> </span><span class="lit">3</span><span class="pun">:</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="lit">4th</span><span class="pln"> call </span><span class="kwd">of</span><span class="pln"> fibonacciSeries</span><span class="pun">()</span><span class="pln"> </span><span class="kwd">with</span><span class="pln"> </span><span class="lit">4</span><span class="pun">:</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="lit">4</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">4</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">4</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="lit">3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="pun">...</span><span class="pln"> </span><span class="lit">10th</span><span class="pln"> call </span><span class="kwd">of</span><span class="pln"> fibonacciSeries</span><span class="pun">()</span><span class="pln"> </span><span class="kwd">with</span><span class="pln"> </span><span class="lit">10</span><span class="pun">:</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="lit">10</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">10</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">10</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="lit">9</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> fibonacciSeries</span><span class="pun">(</span><span class="pln">num</span><span class="pun">:</span><span class="pln"> </span><span class="lit">8</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">21</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="lit">34</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">55</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">55</span>
