Sha256: 2000f8f15837a929105d9193c43565b93b6cdcbaf9cf9f91495cfff206e42973

Contents?: true

Size: 858 Bytes

Versions: 185

Compression:

Stored size: 858 Bytes

Contents

const isPalindrome = num => num.toString().split('').reverse().join('') === num.toString();

const Palindromes = (params) => {
  let maxFactor,
    minFactor,
    maxProduct,
    minProduct,
    data;
  maxFactor = params.maxFactor;
  minFactor = params.minFactor || 1;
  maxProduct = 1;
  minProduct = Infinity;
  data = [];

  for (let ii = minFactor; ii < maxFactor; ii++) {
    for (let jj = ii; jj <= maxFactor; jj++) {
      const product = ii * jj;
      if (isPalindrome(product)) {
        data[product] = [ii, jj];
        maxProduct = Math.max(maxProduct, product);
        minProduct = Math.min(minProduct, product);
      }
    }
  }

  return {
    largest: {
      value: maxProduct,
      factors: data[maxProduct],
    },
    smallest: {
      value: minProduct,
      factors: data[minProduct],
    },
  };
};

export default Palindromes;

Version data entries

185 entries across 185 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.179 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.178 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.177 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.176 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.175 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.174 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.173 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.172 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.171 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.170 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.169 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.167 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.166 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.165 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.164 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.163 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.162 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.161 tracks/ecmascript/exercises/palindrome-products/example.js
trackler-2.2.1.160 tracks/ecmascript/exercises/palindrome-products/example.js