Fibonacci

Compute the nth Fibonacci number.

The Fibonacci numbers are the integer sequence

The sequence is defined by the recurrence relation

with seed values F_0 = 0 and F_1 = 1.

Usage

var fibonacci = require( '@stdlib/math/base/special/fibonacci' );

fibonacci( n )

Computes the nth Fibonacci number.

var v = fibonacci( 0 );
// returns 0

v = fibonacci( 1 );
// returns 1

v = fibonacci( 2 );
// returns 1

v = fibonacci( 3 );
// returns 2

v = fibonacci( 78 );
// returns 8944394323791464

If n > 78, the function returns NaN, as larger Fibonacci numbers cannot be safely represented in double-precision floating-point format.

var v = fibonacci( 79 );
// returns NaN

If not provided a nonnegative integer value, the function returns NaN.

var v = fibonacci( 3.14 );
// returns NaN

v = fibonacci( -1 );
// returns NaN

If provided NaN, the function returns NaN.

var v = fibonacci( NaN );
// returns NaN

Examples

var fibonacci = require( '@stdlib/math/base/special/fibonacci' );

var v;
var i;

for ( i = 0; i < 79; i++ ) {
    v = fibonacci( i );
    console.log( v );
}

C APIs

Usage

#include "stdlib/math/base/special/fibonacci.h"

stdlib_base_fibonacci( n )

Computes the nth Fibonacci number.

double out = stdlib_base_fibonacci( 0 );
// returns 0

out = stdlib_base_fibonacci( 1 );
// returns 1

The function accepts the following arguments:

  • n: [in] int32_t input value.
double stdlib_base_fibonacci( const int32_t n );

Examples

#include "stdlib/math/base/special/fibonacci.h"
#include <stdio.h>
#include <stdint.h>

int main( void ) {
    int32_t i;
    double v;

    for ( i = 0; i < 79; i++ ) {
        v = stdlib_base_fibonacci( i );
        printf( "fibonacci(%d) = %lf\n", i, v );
    }
}
Did you find this page helpful?