Compute the nth Lucas number.
The Lucas numbers are the integer sequence
The sequence is defined by the recurrence relation
var lucas = require( '@stdlib/math/base/special/lucas' );
Computes the nth Lucas number.
var v = lucas( 0 );
// returns 2
v = lucas( 1 );
// returns 1
v = lucas( 2 );
// returns 3
v = lucas( 3 );
// returns 4
v = lucas( 76 );
// returns 7639424778862807
If n > 76
, the function returns NaN
, as larger Lucas numbers cannot be safely represented in double-precision floating-point format.
var v = lucas( 77 );
// returns NaN
If not provided a nonnegative integer value, the function returns NaN
.
var v = lucas( 3.14 );
// returns NaN
v = lucas( -1 );
// returns NaN
If provided NaN
, the function returns NaN
.
var v = lucas( NaN );
// returns NaN
var lucas = require( '@stdlib/math/base/special/lucas' );
var v;
var i;
for ( i = 0; i < 77; i++ ) {
v = lucas( i );
console.log( v );
}
#include "stdlib/math/base/special/lucas.h"
Computes the nth Lucas number.
double out = stdlib_base_lucas( 0 );
// returns 2
out = stdlib_base_lucas( 1 );
// returns 1
The function accepts the following arguments:
- n:
[in] int32_t
input value.
double stdlib_base_lucas( const int32_t n );
#include "stdlib/math/base/special/lucas.h"
#include <stdio.h>
#include <stdint.h>
int main( void ) {
int32_t i;
double v;
for ( i = 0; i < 77; i++ ) {
v = stdlib_base_lucas( i );
printf( "lucas(%d) = %lf\n", i, v );
}
}
@stdlib/math/base/special/fibonacci
: compute the nth Fibonacci number.@stdlib/math/base/special/negalucas
: compute the nth negaLucas number.