Greatest common divisor: Difference between revisions

Content added Content deleted
(Added Frege example for GCD)
(Added TypeScript example for GCD)
Line 3,858: Line 3,858:
<lang bash>$ txr -c @(bind g @(gcd (expt 2 123) (expt 6 49)))
<lang bash>$ txr -c @(bind g @(gcd (expt 2 123) (expt 6 49)))
g="562949953421312"</lang>
g="562949953421312"</lang>

=={{header|TypeScript}}==
Iterative implementation
<lang javascript>function gcd(a: number, b: number) {
a = Math.abs(a);
b = Math.abs(b);

if (b > a) {
let temp = a;
a = b;
b = temp;
}

while (true) {
a %= b;
if (a === 0) { return b; }
b %= a;
if (b === 0) { return a; }
}
}</lang>

Recursive.
<lang javascript>function gcd_rec(a: number, b: number) {
return b ? gcd_rec(b, a % b) : Math.abs(a);
}</lang>



=={{header|uBasic/4tH}}==
=={{header|uBasic/4tH}}==