Sha256: fe2881668a3fddbd90acca982a246d3b3f0eb4a997891cc82b2bdef387262c5a
Contents?: true
Size: 1020 Bytes
Versions: 44
Compression:
Stored size: 1020 Bytes
Contents
const isPalindrome = (num: number) => num.toString().split('').reverse().join('') === num.toString() const Palindromes = (params: {maxFactor: number, minFactor?: number}) => { 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
44 entries across 44 versions & 1 rubygems