Sha256: 242641249a3145c7923f97221675f0feea7967d5f6e526a40913b76d135ac138

Contents?: true

Size: 883 Bytes

Versions: 286

Compression:

Stored size: 883 Bytes

Contents

module Palindrome

let isPalindrome n = 
    let mutable current = n
    let mutable result = 0
    while(current > 0) do
        result <- result * 10 + current % 10
        current <- current / 10

    result = n

let palindrome predicate minFactor maxFactor = 
    let allPalindromes = 
        [for y in minFactor..maxFactor do
             for x in minFactor ..y do
                 if isPalindrome (x * y) then
                    yield x * y, (x, y)]

    let value = 
        allPalindromes 
        |> List.map fst 
        |> predicate
    
    let factors = 
        allPalindromes 
        |> List.filter (fun x -> fst x = value) 
        |> List.map snd 
        |> List.sort

    (value, factors)

let largestPalindrome minFactor maxFactor = palindrome List.max minFactor maxFactor
let smallestPalindrome minFactor maxFactor = palindrome List.min minFactor maxFactor

Version data entries

286 entries across 286 versions & 1 rubygems

Version Path
trackler-2.2.1.68 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.67 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.66 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.65 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.64 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.63 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.62 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.61 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.60 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.59 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.58 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.57 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.56 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.55 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.54 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.53 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.52 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.51 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.50 tracks/fsharp/exercises/palindrome-products/Example.fs
trackler-2.2.1.49 tracks/fsharp/exercises/palindrome-products/Example.fs