Skip to content

Latest commit

 

History

History
260 lines (156 loc) · 6.13 KB

File metadata and controls

260 lines (156 loc) · 6.13 KB

Non-Fibonacci

Compute the nth non-Fibonacci number.

The nth non-Fibonacci number is given by

$$f(n) = \left \lfloor{ n + 1 + \log_\varphi \biggl( \sqrt{5}( n + 1 + \log_\varphi(\sqrt{5}(n+1))) - 5 + \tfrac{3}{n+1} \biggr) - 2 } \right \rfloor$$

where φ is the golden ratio.

Usage

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

nonfibonacci( n )

Computes the nth non-Fibonacci number.

var v = nonfibonacci( 1 );
// returns 4

v = nonfibonacci( 2 );
// returns 6

v = nonfibonacci( 3 );
// returns 7

If provided either a non-integer or n < 1, the function returns NaN.

var v = nonfibonacci( -1 );
// returns NaN

v = nonfibonacci( 3.14 );
// returns NaN

If provided NaN, the function returns NaN.

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

Examples

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

var v;
var i;

for ( i = 1; i < 100; i++ ) {
    v = nonfibonacci( i );
    console.log( 'nonfibonacci(%d) = %d', i, v );
}

C APIs

Usage

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

stdlib_base_nonfibonacci( x )

Computes the nth non-Fibonacci number.

double out = stdlib_base_nonfibonacci( 1 );
// returns 4

out = stdlib_base_nonfibonacci( 2 );
// returns 6

The function accepts the following arguments:

  • x: [in] int32_t input value.
double stdlib_base_nonfibonacci( const int32_t x );

Examples

#include "stdlib/math/base/special/nonfibonacci.h"
#include <stdio.h>
#include <stdlib.h>
int main( void ) {
    int i;
    for ( i = 1; i < 12; i++ ) {
        double result = stdlib_base_nonfibonacci( i );
        printf( "x: %i => result: %lf", i , result );
    }
}

References


See Also