Generating large Fibonacci numbers using boost library
Last Updated :
08 Apr, 2021
In our previous post on fibonacci series, we have seen many approaches to generate fibonacci numbers. In this approach, we shall be generating fibonacci numbers with the help of boost library. The program simply uses the “boost/multiprecision/cpp_int.hpp” boost library in which big_int is defined. The fibonacci numbers beyond the range of long long int can also be generated using the boost library. Below is the C++ implementation to generate fibonacci numbers using the boost library.
CPP
#include <bits/stdc++.h>
#include <boost/multiprecision/cpp_int.hpp>
using big_int = boost::multiprecision::cpp_int;
using namespace std;
int fib(unsigned int n)
{
big_int a = 0;
big_int b = 1;
cout << "Term 1 is : " << a << endl;
cout << "Term 2 is : " << b << endl;
for (unsigned int i = 2; i < n; ++i)
{
const big_int c = a + b;
cout << "Term " << i + 1 << " is : " << c << endl;
a = b;
b = c;
}
}
int main()
{
unsigned int n = 30;
fib(n);
return 0;
}
|
Java
public class GFG
{
static void fib( int n)
{
int a = 0 ;
int b = 1 ;
System.out.println( "Term 1 is : " + a);
System.out.println( "Term 2 is : " + b);
for ( int i = 2 ; i < n; ++i)
{
int c = a + b;
System.out.println( "Term " + (i + 1 ) + " is : " + c);
a = b;
b = c;
}
}
public static void main(String[] args)
{
int n = 30 ;
fib(n);
}
}
|
Python3
def fib( n):
a = 0 ;
b = 1 ;
print ( "Term 1 is : " + str (a));
print ( "Term 2 is : " + str (b));
for i in range ( 2 , n):
c = a + b;
print ( "Term " + str (i + 1 ) + " is : " + str (c));
a = b;
b = c;
if __name__ = = '__main__' :
n = 30 ;
fib(n);
|
C#
using System;
class GFG {
static void fib( int n)
{
int a = 0;
int b = 1;
Console.WriteLine( "Term 1 is : " + a);
Console.WriteLine( "Term 2 is : " + b);
for ( int i = 2; i < n; ++i)
{
int c = a + b;
Console.WriteLine( "Term " + (i + 1) + " is : " + c);
a = b;
b = c;
}
}
static void Main() {
int n = 30;
fib(n);
}
}
|
Javascript
<script>
function fib(n)
{
let a = 0;
let b = 1;
document.write( "Term 1 is : " + a + "</br>" );
document.write( "Term 2 is : " + b + "</br>" );
for (let i = 2; i < n; ++i)
{
let c = a + b;
document.write( "Term " + (i + 1) + " is : " + c + "</br>" );
a = b;
b = c;
}
}
let n = 30;
fib(n);
</script>
|
Output :
Term 1 is : 0
Term 2 is : 1
Term 3 is : 1
Term 4 is : 2
Term 5 is : 3
Term 6 is : 5
Term 7 is : 8
Term 8 is : 13
Term 9 is : 21
Term 10 is : 34
Term 11 is : 55
Term 12 is : 89
Term 13 is : 144
Term 14 is : 233
Term 15 is : 377
Term 16 is : 610
Term 17 is : 987
Term 18 is : 1597
Term 19 is : 2584
Term 20 is : 4181
Term 21 is : 6765
Term 22 is : 10946
Term 23 is : 17711
Term 24 is : 28657
Term 25 is : 46368
Term 26 is : 75025
Term 27 is : 121393
Term 28 is : 196418
Term 29 is : 317811
Term 30 is : 514229
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...