Anonymous user
Greatest common divisor: Difference between revisions
no edit summary
(added FunL) |
No edit summary |
||
Line 3,118:
output = gcd(1071,1029)
end</lang>
=={{header|Sparkling}}==
<lang sparkling>function factors(n) {
var f = {};
for var i = 2; n > 1; i++ {
while n % i == 0 {
n /= i;
f[i] = f[i] != nil ? f[i] + 1 : 1;
}
}
return f;
}
function GCD(n, k) {
let f1 = factors(n);
let f2 = factors(k);
let fs = map(f1, function(factor, multiplicity) {
let m = f2[factor];
return m == nil ? 0 : min(m, multiplicity);
});
let rfs = {};
foreach(fs, function(k, v) {
rfs[sizeof rfs] = pow(k, v);
});
return reduce(rfs, 1, function(x, y) { return x * y; });
}
function LCM(n, k) {
return n * k / GCD(n, k);
}</lang>
=={{header|Standard ML}}==
|