C Program: Generate Fibonacci Numbers
The Fibonacci Sequence is one of the most well-known series in Mathematics, where each number is a sum of its two preceding numbers, starting from 0 and 1. It is named after the Italian mathematician Leonardo Pisano who introduced it to the west in his book Liber Abaci (AD 1202).
The sequence is usually denoted by $F_{n}$ where $n \geq 0$. Therefore,
$F_{0} = 0$, $F_{1} = 1$, and for values of $n > 1$,
$F_{n} = F_{n-1} + F_{n-2}$
The sequence begins as: 0, 1, 1, 2, 3, 5, 8, 13, ...
Below is a simple C program that prints Fibonacci Numbers upto a given number $n$.
#include <stdio.h>
int main() {
unsigned long int n, first = 0, second = 1, next, i;
printf("Enter a natural number: ");
scanf("%lu", &n);
for(i = 0; i < n; i++) {
if(i <=1) {
next = i;
} else {
next = first + second;
first = second;
second = next;
}
printf("%lu, ", next);
}
return 0;
}
We can also use a recursive function to print out Fibonacci Numbers as shown in the program below.
#include <stdio.h>
unsigned long fibonacci(unsigned long);
int main() {
unsigned long int n, first = 0, second = 1, next, i;
printf("Enter a natural number: ");
scanf("%lu", &n);
for(i = 0; i < n; i++) {
printf("%lu, ", fibonacci(i));
}
return 0;
}
unsigned long fibonacci(unsigned long n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}