initial commit
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
module _52
|
||||
|
||||
open System
|
||||
|
||||
let findSameDigits =
|
||||
// todo: optimize with combination of available digits
|
||||
let powerOfTenNums pow =
|
||||
let b = Math.Pow(10.0, float pow) |> int
|
||||
seq {1..(b-1)} |> Seq.map ((+) b)
|
||||
let multiples num =
|
||||
seq {num*2..num..(num*6) }
|
||||
let numSet num =
|
||||
Set (common.numDigits num)
|
||||
let rec sd pow =
|
||||
powerOfTenNums pow
|
||||
|> Seq.filter ( fun n ->
|
||||
let nDigits = numSet n
|
||||
multiples n
|
||||
|> Seq.map (fun m -> numSet m)
|
||||
|> Seq.forall (fun mDigits -> nDigits = mDigits)
|
||||
)
|
||||
|> Seq.map (fun n -> (n, multiples n |> Seq.toArray))
|
||||
|
||||
sd 5
|
||||
Reference in New Issue
Block a user