Open In App

Print first n Fibonacci Numbers using direct formula

Last Updated : 23 Aug, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Given a number n, the task is to print first n Fibonacci numbers.

Prerequisite: Program to print first n Fibonacci Numbers | Set 1

Examples: 

Input : 7
Output :0 1 1 2 3 5 8

Input : 5
Output :0 1 1 2 3

N-th Fibonacci Number = [(1 + ?5)n – (1 – ?5)n)] / [2n * ?5]

Below is the implementation.  

C++




// C++ code to print fibonacci
// numbers till n using direct formula.
#include<bits/stdc++.h>
using namespace std;
 
// Function to calculate fibonacci
// using recurrence relation formula
void fibonacci(int n){
    long long int fib;
    for ( long long int i = 0; i < n; i++)
    {
        // Using direct formula
        fib = (pow((1 + sqrt(5)), i) -
               pow((1 - sqrt(5)), i)) /
              (pow(2, i) * sqrt(5));
               
        cout << fib << " ";
    }
}
 
// Driver code
int main()
{
    long long int n = 8;   
    fibonacci(n);   
    return 0;
}


Java




// Java code to print fibonacci
// numbers till n using direct formula.
 
class GFG{
 
// Function to calculate fibonacci
// using recurrence relation formula
static void fibonacci(double n){
    double fib;
    for (double i = 0; i < n; i++)
    {
        // Using direct formula
        fib = (Math.pow((1 + Math.sqrt(5)), i) -
            Math.pow((1 - Math.sqrt(5)), i)) /
            (Math.pow(2, i) * Math.sqrt(5));
             
        System.out.print((int)fib+" ");
    }
}
 
// Driver code
public static void main(String[] args)
{
    double n = 8;
    fibonacci(n);
}
}
// This code is contributed by mits


Python3




# Python3 code to print fibonacci
# numbers till n using direct formula.
import math
 
# Function to calculate fibonacci
# using recurrence relation formula
def fibonacci(n):
 
    for i in range(n):
        # Using direct formula
        fib = ((pow((1 + math.sqrt(5)), i) -
                pow((1 - math.sqrt(5)), i)) /
               (pow(2, i) * math.sqrt(5)));
                 
        print(int(fib), end = " ");
 
# Driver code
n = 8;
fibonacci(n);
 
# This code is contributed by mits


C#




// C#  code to print fibonacci
// numbers till n using direct formula.\
 
using System;
 
public class GFG{
     
// Function to calculate fibonacci
// using recurrence relation formula
static void fibonacci(double n){
    double fib;
    for (double i = 0; i < n; i++)
    {
        // Using direct formula
        fib = (Math.Pow((1 + Math.Sqrt(5)), i) -
            Math.Pow((1 - Math.Sqrt(5)), i)) /
            (Math.Pow(2, i) * Math.Sqrt(5));
             
        Console.Write((int)fib+" ");
    }
}
 
// Driver code
    static public void Main (){
            double n = 8;
            fibonacci(n);
}
}
// This code is contributed by ajit.


PHP




<?php
// PHP code to print fibonacci
// numbers till n using direct formula.
 
// Function to calculate fibonacci
// using recurrence relation formula
function fibonacci($n)
{
    for ($i = 0; $i < $n; $i++)
    {
        // Using direct formula
        $fib = (pow((1 + sqrt(5)), $i) -
                pow((1 - sqrt(5)), $i)) /
               (pow(2, $i) * sqrt(5));
                 
        echo $fib , " ";
    }
}
 
// Driver code
$n = 8;
fibonacci($n);
 
// This code is contributed by jit_t
?>


Javascript




<script>
 
// Javascript code to print fibonacci
// numbers till n using direct formula.
 
// Function to calculate fibonacci
// using recurrence relation formula
function fibonacci(n)
{
    var fib;
    for(i = 0; i < n; i++)
    {
         
        // Using direct formula
        fib = (Math.pow((1 + Math.sqrt(5)), i) -
               Math.pow((1 - Math.sqrt(5)), i)) /
           (Math.pow(2, i) * Math.sqrt(5));
 
        document.write(parseInt(fib) + " ");
    }
}
 
// Driver code
var n = 8;
 
fibonacci(n);
 
// This code is contributed by gauravrajput1
 
</script>


Output: 

0 1 1 2 3 5 8 13

 

Time Complexity: O(n)
Auxiliary Space: O(1)

Note: The above program is costly compared to method 1 as it causes power computations in floating point. Also, it may not work perfectly due to floating point precision errors.
 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads