Java Fibonacci Sequence
Generate the famous mathematical sequence in Java
🔢 What is Fibonacci Sequence?
The Fibonacci sequence is a series where each number equals the sum of the two preceding numbers. Starting with 0 and 1, it creates: 0, 1, 1, 2, 3, 5, 8, 13...
// Simple Fibonacci example
public class Fibonacci {
public static void main(String[] args) {
int n = 10;
System.out.println("First " + n + " Fibonacci numbers:");
for (int i = 0; i < n; i++) {
System.out.print(fibonacci(i) + " ");
}
}
static int fibonacci(int n) {
if (n <= 1) return n;
return fibonacci(n-1) + fibonacci(n-2);
}
}
Output:
First 10 Fibonacci numbers:
0 1 1 2 3 5 8 13 21 34
Different Approaches
Recursive
Simple but slower for large numbers
static int fib(int n) {
if (n <= 1) return n;
return fib(n-1) + fib(n-2);
}
Iterative
Faster and memory efficient
static int fib(int n) {
if (n <= 1) return n;
int a = 0, b = 1, c;
for (int i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
Array Method
Store all values for later use
static void fibArray(int n) {
int[] fib = new int[n];
fib[0] = 0; fib[1] = 1;
for (int i = 2; i < n; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
}
Series Display
Print the complete sequence
static void printFib(int n) {
int a = 0, b = 1;
System.out.print(a + " " + b + " ");
for (int i = 2; i < n; i++) {
int c = a + b;
System.out.print(c + " ");
a = b; b = c;
}
}
🔹 Complete Fibonacci Program
Here's a complete program with multiple methods:
public class FibonacciComplete {
public static void main(String[] args) {
int n = 8;
System.out.println("Fibonacci using recursion:");
for (int i = 0; i < n; i++) {
System.out.print(fibRecursive(i) + " ");
}
System.out.println("\n\nFibonacci using iteration:");
fibIterative(n);
System.out.println("\n\nNth Fibonacci number (n=7): " + fibNth(7));
}
// Recursive method
static int fibRecursive(int n) {
if (n <= 1) return n;
return fibRecursive(n-1) + fibRecursive(n-2);
}
// Iterative method
static void fibIterative(int n) {
int a = 0, b = 1;
if (n >= 1) System.out.print(a + " ");
if (n >= 2) System.out.print(b + " ");
for (int i = 2; i < n; i++) {
int c = a + b;
System.out.print(c + " ");
a = b;
b = c;
}
}
// Get nth Fibonacci number
static int fibNth(int n) {
if (n <= 1) return n;
int a = 0, b = 1, result = 0;
for (int i = 2; i <= n; i++) {
result = a + b;
a = b;
b = result;
}
return result;
}
}
Output:
Fibonacci using recursion:
0 1 1 2 3 5 8 13
Fibonacci using iteration:
0 1 1 2 3 5 8 13
Nth Fibonacci number (n=7): 13