tpai
9/7/2017 - 2:27 AM

Common formula

Common formula

function factorial(m) {
    return m <= 1 ? m : m * factorial(m - 1);
}

function fibonacci(n) {
    return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
}

function prime(p) {
    return p >= 1 ? isPrime(p) ? prime(--p).concat([p + 1]) : prime(--p) : [];
}

function isPrime(o) {
    let mid = Math.floor(Math.sqrt(o));
    while(mid > 1) {
        if (o % mid === 0)return false;
        mid--;
    }
    return true;
}

function ugly(u) {
    return u >= 1 ? isUgly(u) ? ugly(--u).concat([u + 1]) : ugly(--u) : [];
}

function isUgly(n) {
    [2, 3, 5].forEach(e => {
        while(n && n % e === 0) {
            n /= e;
        }
    });
    return n === 1;
}

function getEquals(arr1, arr2) {
  const result = [];
  let i=0;
  let j=0
  while(i < arr1.length && j < arr2.length) {
    if (arr1[i] === arr2[j]) {
      result.push(arr1[i]);
      i++;
      j++;
    } else if (arr1[i] > arr2[j]) {
      j++;
    } else if (arr1[i] < arr2[j]) {
      i++;
    }
  }
  return result;
}