Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,33 @@
|
|||
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);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue