Files
project-euler/43.fs
T
2025-08-03 20:16:55 -07:00

29 lines
807 B
FSharp

module _43
open System
open common
let pandigitalDivisible =
let comb (i : string) (j : string) =
match i, j with
| i,j when i.[1] = j.[0] && i.[2] = j.[1] -> Some(String.Concat((string i.[0]), j))
| _ -> None
let prMul =
[17;13;11;7;5;3;2]
|> List.map
(
multiples
>> Seq.map string
>> Seq.skipWhile (String.length >> (>) 3)
>> Seq.takeWhile (String.length >> (>) 4)
)
// let lnth i l = List.nth l i
// let lnthDivs i n l = lnth i l >> (%) n >> (=) 0
// [0..9] |> Set.ofSeq |> permutations
// |> Seq.filter (lnth 0 >> (<>) 0)
// |> Seq.filter (lnth 3 >> (%) 2 >> (=) 0)
// //|> Seq.filter (lnth 5 >> (%) 5 >> (=) 0)
// |> Seq.length