Programs to display the n th fibonacci number have been shown here. For example if $n = 7$, we get the seventh fibonacci number i.e. $8$. The algorithm, pseudocode and time complexity of the program have also been given.

#### Page content(s):

1. Algorithm

2. Pseudocode

3. Time Complexity

4. Program & Output: Iterative approach

5. Program & Output: Recursive approach

1. Flowchart

## 1. Algorithm to display N th fibonacci

1. Take term no n as input.

2. If n = 1 return 0 as first fibonacci and exit program

3. If n = 2 return 1 as first fibonacci and exit program

4. Intialize a counter variable say count = 2

5. Assign the first two fibonacci numbers to variables a, b i.e. a = 0 and b = 1

6. Perform t = a + b

7. Perform a = b and b = t

8. Perform count = count + 1.

9. If count = n, display t as n th fibonacci and exit program else go to step 6

## 2. Pseudocode to display N th fibonacci

Input : Index of the term $n$

Output : $n$ th fibonacci number

1.Procedure nthFibonacci($n$):

2. $a \leftarrow 0$

3. $b \leftarrow 1$

4. If $n == 1$

5. Return $a$

6. If $n == 2$

7. Return $b$

8. $count \leftarrow 2$

9. $t \leftarrow 0$

10.Repeat until $count \lt n$:

11.$t \leftarrow a + b$

12.$a \leftarrow b$

13.$b \leftarrow t$

14.$count \leftarrow count + 1$

15.Return $t$

16.End Procedure

## 3. Time complexity to display N th fibonacci

Time Complexity: O(n)

Where n is the index of the term in the fibonacci sequence.

## 4. Program & output to display N th fibonacci using iteration

This section covers the C, C++, Java, Python and C# programs to display the n th fibonacci number using iteration.

## 4.1. C Program & output to display N th fibonacci using iteration

Code has been copied
/**********************************
alphabetacoder.com
C program to display N th fibonacci
number using iteration
***********************************/

#include <stdio.h>

int main() {
// declare variables
int n, count = 0, a, b, t;

// take input of the term no
printf("Enter the term no. = ");
scanf("%d", & n);

// intialize the first two number of the sequence
a = 0;
b = 1;

// if first fibonacci
if (n == 1)
printf("Fibonacci no %d is %d", n, a);
// if second fibonacci
else if (n == 2)
printf("Fibonacci no %d is %d", n, b);
// except first and second fibonacci
else if (n > 2) {
// assign value
count = 2;
while (count < n) {
// calculate next fibonacci
t = a + b;
//assign values for next iteration
a = b;
b = t;
// increment the counter
count = count + 1;
}
// display n th fibonacci
printf("Fibonacci no %d is %d", n, t);
} else
printf("Invalid input!");

return 0;
}


Output

#### Case 1:

Enter the term no. = 20

Fibonacci no 20 is 4181

#### Case 2:

Enter the term no. = 2

Fibonacci no 2 is 1

## 4.2. C++ Program & output to display N th fibonacci using iteration

Code has been copied
/********************************
alphabetacoder.com
C++ program to display N th
fibonacci number using iteration
*********************************/

#include <iostream>

using namespace std;

int main() {
// declare variables
int n, count = 0, a, b, t;

// take input of the term no
cout << "Enter the term no. = ";
cin >> n;

// intialize the first two number of the sequence
a = 0;
b = 1;

// if first fibonacci
if (n == 1)
cout << "Fibonacci no " << n << " is " << a;
// if second fibonacci
else if (n == 2)
cout << "Fibonacci no " << n << " is " << b;
// except first and second fibonacci
else if (n > 2) {
// assign value
count = 2;
while (count < n) {
// calculate next fibonacci
t = a + b;
//assign values for next iteration
a = b;
b = t;
// increment the counter
count = count + 1;
}
// display n th fibonacci
cout << "Fibonacci no " << n << " is " << t;
} else
cout << "Invalid input!";

return 0;
}


Output

#### Case 1:

Enter the term no. = 20

Fibonacci no 20 is 4181

#### Case 2:

Enter the term no. = 2

Fibonacci no 2 is 1

## 4.3. Java Program & output to display N th fibonacci using iteration

Code has been copied
/**********************************
alphabetacoder.com
Java program to display N th
fibonacci number using iteration
***********************************/

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
// declare variables
int n, count = 0, a, b, t = 0;

// declare instance of Scanner class
Scanner sc = new Scanner(System.in);

// take input of the term no
System.out.print("Enter the term no. = ");
n = sc.nextInt();

// intialize the first two number of the sequence
a = 0;
b = 1;

// if first fibonacci
if (n == 1)
System.out.println("Fibonacci no " + n + " is " + a);
// if second fibonacci
else if (n == 2)
System.out.println("Fibonacci no " + n + " is " + b);
// except first and second fibonacci
else if (n > 2) {
// assign value
count = 2;
while (count < n) {
// calculate next fibonacci
t = a + b;
//assign values for next iteration
a = b;
b = t;
// increment the counter
count = count + 1;
}
// display n th fibonacci
System.out.println("Fibonacci no " + n + " is " + t);
} else
System.out.println("Invalid input!");
}
}


Output

#### Case 1:

Enter the term no. = 20

Fibonacci no 20 is 4181

#### Case 2:

Enter the term no. = 2

Fibonacci no 2 is 1

## 4.4. Python Program & output to display N th fibonacci using iteration

Code has been copied
#***********************************
#    alphabetacoder.com
#Python program to display N th
#fibonacci number using iteration
#***********************************

# take input of the term no
n = int(input("Enter the term no. = "))

# intialize the first two number of the sequence
a = 0
b = 1

# if first fibonacci
if n == 1:
print("Fibonacci no ",n ,"is ",a)
# if second fibonacci
elif n == 2:
print("Fibonacci no ",n ,"is ",b)
# except first and second fibonacci
elif n > 2:
# assign value
count = 2
while count < n:
# calculate next fibonacci
t = a + b
# assign values for next iteration
a = b
b = t
# increment the counter
count = count + 1

# display n th fibonacci
print("Fibonacci no ",n ,"is ",t)
else:
print("Invalid input!")


Output

#### Case 1:

Enter the term no. = 20

Fibonacci no 20 is 4181

#### Case 2:

Enter the term no. = 2

Fibonacci no 2 is 1

## 4.5. C# Program & output to display N th fibonacci using iteration

Code has been copied
/***********************************
alphabetacoder.com
C# program to display N th fibonacci
number using iteration
************************************/

using System;

namespace NthFibonacci {
class Program {
static void Main(string[] args) {
// declare variables
int n, count = 0, a, b, t = 0;

//take input of the number upto which
// natural numbers will be printed
Console.Write("Enter the term no. = ");

// intialize the first two number of the sequence
a = 0;
b = 1;

// if first fibonacci
if (n == 1)
Console.Write("Fibonacci no " + n + " is " + a);
// if second fibonacci
else if (n == 2)
Console.Write("Fibonacci no " + n + " is " + b);
// except first and second fibonacci
else if (n > 2) {
// assign value
count = 2;
while (count < n) {
// calculate next fibonacci
t = a + b;
//assign values for next iteration
a = b;
b = t;
// increment the counter
count = count + 1;
}
// display n th fibonacci
Console.Write("Fibonacci no " + n + " is " + t);
} else
Console.Write("Invalid input!");

// wait for user to press any key
}
}
}


Output

#### Case 1:

Enter the term no. = 20

Fibonacci no 20 is 4181

#### Case 2:

Enter the term no. = 2

Fibonacci no 2 is 1

## 5. Program & output to display N th fibonacci using recursion

This section covers the C, C++, Java, Python and C# programs to display the n th fibonacci number using recursion.

## 5.1. C Program & output to display N th fibonacci using recursion

Code has been copied
/**********************************
alphabetacoder.com
C program to display N th fibonacci
number using recursion
***********************************/

#include <stdio.h>

// recursive function to
// find nth fibonacci
int fibonacci(int n) {
if (n == 1)
return 0;
if (n == 2)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}

int main() {
// declare variables
int n;

// take input of the term no
printf("Enter the term no. = ");
scanf("%d", & n);

// find fibonacci
if (n >= 1) {
// display n th fibonacci
// by calling the function
printf("Fibonacci no %d is %d", n, fibonacci(n));
} else
printf("Invalid input!");

return 0;
}


Output

#### Case 1:

Enter the term no. = 7

Fibonacci no 7 is 8

#### Case 2:

Enter the term no. = 15

Fibonacci no 15 is 377

## 5.2. C++ Program & output to display N th fibonacci using recursion

Code has been copied
/********************************
alphabetacoder.com
C++ program to display N th
fibonacci number using recursion
*********************************/

#include <iostream>

using namespace std;

// recursive function to
// find nth fibonacci
int fibonacci(int n) {
if (n == 1)
return 0;
if (n == 2)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}

int main() {
// declare variables
int n;

// take input of the term no
cout << "Enter the term no. = ";
cin >> n;

// find fibonacci
if (n >= 1) {
// display n th fibonacci
// by calling the function
cout << "Fibonacci no " << n << " is " << fibonacci(n);
} else
cout << "Invalid input!";

return 0;
}


Output

#### Case 1:

Enter the term no. = 7

Fibonacci no 7 is 8

#### Case 2:

Enter the term no. = 15

Fibonacci no 15 is 377

## 5.3. Java Program & output to display N th fibonacci using recursion

Code has been copied
/********************************
alphabetacoder.com
Java program to display N th
fibonacci number using recursion
*********************************/

import java.util.Scanner;

public class Main {
// recursive function to
// find nth fibonacci
public static int fibonacci(int n) {
if (n == 1)
return 0;
if (n == 2)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}

public static void main(String[] args) {
// declare variables
int n;

// declare instance of Scanner class
Scanner sc = new Scanner(System.in);

// take input of the term no
System.out.print("Enter the term no. = ");
n = sc.nextInt();

// find fibonacci
if (n >= 1) {
// display n th fibonacci
// by calling the function
System.out.println("Fibonacci no " + n + " is " + fibonacci(n));
} else
System.out.print("Invalid input!");
}
}


Output

#### Case 1:

Enter the term no. = 7

Fibonacci no 7 is 8

#### Case 2:

Enter the term no. = 15

Fibonacci no 15 is 377

## 5.4. Python Program & output to display N th fibonacci using recursion

Code has been copied
#*********************************
#    alphabetacoder.com
#Python program to display N th
#fibonacci number using recursion
#*********************************

# recursive function to
# find nth fibonacci
def fibonacci(n):
if n == 1:
return 0
if n == 2:
return 1
return fibonacci(n - 1) + fibonacci(n - 2)

def main():
# take input of the term no
n = int(input("Enter the term no. = "))

# find fibonacci
if n >= 1:
# display n th fibonacci
# by calling the function
print("Fibonacci no" , n , "is", fibonacci(n))
else:
print("Invalid input!")

# driver code
# call main()
main()


Output

#### Case 1:

Enter the term no. = 7

Fibonacci no 7 is 8

#### Case 2:

Enter the term no. = 15

Fibonacci no 15 is 377

## 5.5. C# Program & output to display N th fibonacci using recursion

Code has been copied
/*******************************
alphabetacoder.com
C# program to display N th
fibonacci number using recursion
*********************************/

using System;

namespace NthFibonacci {
class Program {
// recursive function to
// calculate fibonacci number
static int fibonacci(int n) {
if (n == 1)
return 0;
if (n == 2)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}

static void Main(string[] args) {
// declare variables
int n;

// take input of the index
// of the fibonacci number
Console.Write("Enter the term no. = ");

// find fibonacci
if (n >= 1) {
// display n th fibonacci
// by calling the function
Console.WriteLine("Fibonacci no " + n + " is " + fibonacci(n));
} else
Console.WriteLine("Invalid input!");

// wait for user to press any key
}
}
}


Output

#### Case 1:

Enter the term no. = 7

Fibonacci no 7 is 8

#### Case 2:

Enter the term no. = 15

Fibonacci no 15 is 377