while $b != 0 { ($b, $a) = ($a % $b, $b); } #### sub gcd ($a, $b) { return $a if !$b; gcd($b, $a % $b); } say gcd(24, 42); #### sub gcd ($a, $b) { ($a, $b ... { $^x % $^y || () })[*-1] }
## sub gcd ($a, $b) { return $a if !$b; gcd($b, $a % $b); } say gcd(24, 42); ##
## sub gcd ($a, $b) { ($a, $b ... { $^x % $^y || () })[*-1] }