Compute the least common multiple (lcm).
The least common multiple (lcm) of two non-zero integers a
and b
is the smallest positive integer that is divisible by both a
and b
. The lcm is also known as the lowest common multiple or smallest common multiple and finds common use in calculating the lowest common denominator (lcd).
var lcm = require( '@stdlib/math/base/special/lcm' );
Computes the least common multiple (lcm).
var v = lcm( 48, 18 );
// returns 144
If either a
or b
is 0
, the function returns 0
.
var v = lcm( 0, 0 );
// returns 0
v = lcm( 2, 0 );
// returns 0
v = lcm( 0, 3 );
// returns 0
Both a
and b
must have integer values; otherwise, the function returns NaN
.
var v = lcm( 3.14, 18 );
// returns NaN
v = lcm( 48, 3.14 );
// returns NaN
v = lcm( NaN, 18 );
// returns NaN
v = lcm( 48, NaN );
// returns NaN
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var lcm = require( '@stdlib/math/base/special/lcm' );
var opts = {
'dtype': 'float64'
};
var a = discreteUniform( 100, 0, 50, opts );
var b = discreteUniform( 100, 0, 50, opts );
logEachMap( 'lcm(%0.4f,%0.4f) = %0.4f', a, b, lcm );
#include "stdlib/math/base/special/lcm.h"
Computes the least common multiple (lcm).
double v = stdlib_base_lcm( 48.0, 18.0 );
// returns 144.0
The function accepts the following arguments:
- a:
[in] double
input value. - b:
[in] double
input value.
double stdlib_base_lcm( const double a, const double b );
#include "stdlib/math/base/special/lcm.h"
#include <stdio.h>
int main( void ) {
const double a[] = { 24.0, 32.0, 48.0, 116.0, 33.0 };
const double b[] = { 12.0, 6.0, 15.0, 52.0, 22.0 };
double out;
int i;
for ( i = 0; i < 5; i++ ) {
out = stdlib_base_lcm( a[ i ], b[ i ] );
printf( "lcm(%lf, %lf) = %lf\n", a[ i ], b[ i ], out );
}
}
@stdlib/math/base/special/gcd
: compute the greatest common divisor (gcd).