Files
dotfiles/dot_config/nushell/nu_scripts/modules/recursion/gcd.nu
Cian Hughes 896af887ca Changed . token to _dot
This change allows the dotfiles to work with chezmoi (e.g: on windows)
and improves grepability with neovim/telescope
2024-11-07 13:52:17 +00:00

16 lines
438 B
Nu

# Euclid's algorithm for determining greatest common divisor between 2 positive integers
# Based on this clear explanation from Rutgers: https://sites.math.rutgers.edu/~greenfie/gs2004/euclid.html
# Returns the GCD of its 2 arguments
def gcd [i1: int, i2: int] -> int {
mut a = $i1; mut b = $i2
if $a < $b { let tmp = $a; $a = $b; $b = $tmp }
let q = $a // $b; let r = $a mod $b
if $r == 0 {
$b
} else {
gcd $b $r
}
}