initial commit
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
module _49
|
||||
|
||||
open common
|
||||
|
||||
let rec insertions x = function
|
||||
| [] -> [[x]]
|
||||
| (y :: ys) as l -> (x::l)::(List.map (fun x -> y::x) (insertions x ys))
|
||||
|
||||
let rec permutations = function
|
||||
| [] -> seq [[]]
|
||||
| x :: xs -> Seq.concat (Seq.map (insertions x) (permutations xs))
|
||||
|
||||
let primeSequence =
|
||||
|
||||
let primes =
|
||||
primeArray 10000 |> Seq.skipWhile ((>) 999) |> Array.ofSeq
|
||||
|
||||
let isPrime = isPrimeFunByArray primes
|
||||
|
||||
primes
|
||||
|> Seq.map (
|
||||
numDigits >> List.ofArray >>
|
||||
permutations >>
|
||||
Seq.map (Array.ofList >> digitsNum) >>
|
||||
Seq.filter isPrime >>
|
||||
Seq.distinct >>
|
||||
Seq.sort >>
|
||||
Seq.toArray
|
||||
)
|
||||
|> Seq.distinct
|
||||
|> Seq.collect (List.ofSeq >> combinations 3)
|
||||
|> Seq.filter (fun a -> a.[2] - a.[1] = a.[1] - a.[0])
|
||||
|> Seq.map (List.rev >> List.map (numDigits >> Array.map (string) >> Array.fold (+) "") >> List.fold (+) "")
|
||||
//|> Seq.toArray
|
||||
Reference in New Issue
Block a user