R: Greatest Common Divisor and Least Common Multiple

GCD, LCM {DescTools} | R Documentation

## Greatest Common Divisor and Least Common Multiple

### Description

Calculates the greatest common divisor (GCD) and least common multiple (LCM) of all the values present in its arguments.

### Usage

    GCD(..., na.rm = FALSE)
    LCM(..., na.rm = FALSE)

### Arguments

`...` | integer or logical vectors.
`na.rm` | logical. Should missing values (including NaN) be removed?

### Details

The computation is based on the Euclidean algorithm without using the extended version.The greatest common divisor for all numbers in the integer vector `x` will be computed (the multiple GCD).

### Value

A numeric (integer) value.

### Note

The following relation is always true:

`n * m = GCD(n, m) * LCM(n, m)`

### Author(s)

Dirk Eddelbuettel <edd@debian.org> (RCPP part), Andri Signorell <andri@signorell.net>, originally based on code in package numbers by Hans W Borchers <hwborchers@googlemail.com>

### References

Eddelbuettel, D. (2013). Seamless R and C++ Integration with Rcpp. New York, NY: Springer.

### See Also

`Factorize`, `Primes`

### Examples

    GCD(12, 10)
    GCD(144, 233)    # Fibonacci numbers are relatively prime to each other

    LCM(12, 10)
    LCM(144, 233)    # = 144 * 233

    # all elements will be flattened by unlist
    GCD(2, 3, c(5, 7) * 11)
    GCD(c(2*3, 3*5, 5*7))
    LCM(c(2, 3, 5, 7) * 11)
    LCM(2*3, 3*5, 5*7)

[Package DescTools version 0.99.25 Index]