Generate Fibonacci Numbers in C++

C++ Use Iterative Method to Print the First
n
Items in Fibonacci Sequence 
C++ Use Iterative Method to Print the
n
Th Item in Fibonacci Sequence
This article will demonstrate multiple methods of how to generate Fibonacci numbers in C++.
C++ Use Iterative Method to Print the First n
Items in Fibonacci Sequence
Fibonacci numbers are commonly known in math as a sequence of numbers where each item is the sum of the two preceding ones, starting from 0
and 1
. In this example code, we take the user’s input as integer n
and generate the first n
numbers in the Fibonacci sequence. The solution is plain iterative, where we initialize the starting values and iterate n3
times to sum the previous values. Each iteration, the sum is printed to cout
stream, and stored values are shifted by one number window. Note that the if
condition is implemented, which checks for the input integer  0
and prints the corresponding value. The first cout
statement handles the case when n
equals 2
, as the for
loop condition evaluates to false and does not proceed.
#include <iostream>
using std::cout; using std::cin;
using std::endl; using std::string;
void generateFibonacci(unsigned long long n)
{
if (n == 1) {
cout << 0 << endl;
return;
}
unsigned long long a = 0;
unsigned long long b = 1;
unsigned long long c;
cout << a << " " << b;
for (unsigned long long i = 3; i <= n; i++)
{
c = a + b;
cout << " " << c;
a = b;
b = c;
}
}
int main()
{
unsigned long long num;
cout << "Enter the number of items to generate Fibonacci series: ";
cin >> num;
generateFibonacci(num);
return EXIT_SUCCESS;
}
Output:
Enter the number of items to generate Fibonacci series: 10
0 1 1 2 3 5 8 13 21 34
C++ Use Iterative Method to Print the n
Th Item in Fibonacci Sequence
Alternatively, we can implement a function that returns the n
th number in the Fibonacci sequence. Note that we store user input in unsigned long long
because we want to be able to output the largest numbers that can be stored by builtin C++ types. The function starts with the ifelse
statement to check for the first three cases and return hardcoded values. On the other hand, if n
is larger than 3
, we proceed to loop block and iterate until we get the n
th number in the sequence.
#include <iostream>
using std::cout; using std::cin;
using std::endl; using std::string;
unsigned long long generateFibonacci(unsigned long long n)
{
if (n == 1) {
return 0;
} else if (n == 2  n == 3) {
return 1;
}
unsigned long long a = 1;
unsigned long long b = 1;
unsigned long long c;
for (unsigned long long i = 3; i < n; i++)
{
c = a + b;
a = b;
b = c;
}
return c;
}
int main()
{
unsigned long long num;
cout << "Enter the nth number in Fibonacci series: ";
cin >> num;
cout << generateFibonacci(num);
cout << endl;
return EXIT_SUCCESS;
}
Output:
Enter the nth number in Fibonacci series: 10
34