lcm

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).

Usage

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

lcm( a, b )

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

Examples

var randu = require( '@stdlib/random/base/randu' );
var round = require( '@stdlib/math/base/special/round' );
var lcm = require( '@stdlib/math/base/special/lcm' );

var a;
var b;
var v;
var i;

for ( i = 0; i < 100; i++ ) {
    a = round( randu()*50 );
    b = round( randu()*50 );
    v = lcm( a, b );
    console.log( 'lcm(%d,%d) = %d', a, b, v );
}

C APIs

Usage

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

stdlib_base_lcm( a, b )

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 );

Examples

#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 );
    }
}
Did you find this page helpful?