fn = fn-1 + fn-2.
Calculate Fibonacci Series in Java
Carvia Tech | April 30, 2019 | 1 min read | 1,015 views
Fibonacci series is series of natural number where next number is equivalent to the sum of previous two number e.g.
Fibonacci Series
The first two numbers of Fibonacci series is always 1, 1.
First 10 numbers in fibonacci series are:
1 1 2 3 5 8 13 21 34 55
Iterative approach
Java program to calculate and print Fibonacci number using Iterations logic is shown below:
Basically on each iteration, we are assigning second number to the first and assigning the sum of last two numbers to the second.
Fibonacci using Iteration
void fibonacci(int count) {
int prevNumber = 0;
int nextNumber = 1;
System.out.println("Fibonacci Series " + count + ":");
for (int i = 1; i <= count; ++i) {
int fib = prevNumber + nextNumber;
prevNumber = nextNumber;
nextNumber = fib;
System.out.print(prevNumber + " ");
}
}
Recursive approach
We can use tail recursion to calculate fibonacci series in Java.
fibonacci series using Recursion
int fibonacci(int num) {
if (num == 1 || num == 2) {
return 1; (1)
}
return fibonacci(num - 1) + fibonacci(num - 2); (2)
}
1 | Terminating condition for recursive function |
2 | Tail recursion where we are essentially calculating fn = fn-1 + fn-2 |
Top articles in this category:
- SDET Java Coding Challenges
- 50 SDET Java Interview Questions & Answers
- Rest Assured API Testing Interview Questions
- SDET: JUnit interview questions for automation engineer
- Java Program to find Factorial of a number
- Http methods for RESTful services
- Difference between Enumeration and Iterator in Java
Find more on this topic:
Subscribe to Interview Questions
Recommended books for interview preparation:
Book you may be interested in..
Book you may be interested in..
Similar Posts
- Reverse position of words in a string using recursion
- REST Assured with plain/text response body
- Get distinct words from a given file in Java
- SDET Java Coding Challenges
- REST Assured vs Apache HttpClient and RestTemplate
- Java 11 HttpClient with Basic Authentication
- HTTP GET request with Java 11 HttpClient - Kotlin
- HTTP Head request using Java 11 HttpClient - Kotlin
- Using Java 11 HttpClient with Kotlin Coroutines
- Migrating Spring Boot tests from Junit 4 to Junit 5