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

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