Compute the greatest common divisor between two numbers
Apply Euclid’s algorithm.
function gcd({ a, b }) { return b === 0 ? Math.abs(a) : gcd({ a: b, b: a % b }); }
Input & expected output
Input
{
"a": 48,
"b": 18
}Expected output
6The edge case
Input
{
"a": -4,
"b": 6
}Expected output
2Know the limits
- Returns a non-negative result; the original could return a negative divisor.
- Integers only.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Compute the greatest common divisor between two numbers from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Returns a non-negative divisor; takes a and b as one object. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Clamp a number to a range — Keep a number inside an inclusive minimum and maximum.
- Round to a number of digits — Apply decimal scaling and JavaScript rounding for display-oriented values.
- Add an ordinal suffix to a number — Append st, nd, rd or th to a positive integer.