initial commit
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
module _69
|
||||
|
||||
open common
|
||||
|
||||
let relativePrimeFunc =
|
||||
|
||||
let primeDivisorArrayByMax max =
|
||||
let isPrime = isPrimeFunByMax (int (System.Math.Ceiling(sqrt (float max))))
|
||||
divisorsInclSelf max |> Array.map (List.filter isPrime)
|
||||
|
||||
let totientArrayByMax max =
|
||||
let pd = primeDivisorArrayByMax max
|
||||
let productFormula n primes =
|
||||
let pFunc prime = 1.0 - 1.0/(float prime)
|
||||
primes
|
||||
|> List.fold (fun p prime -> p * (pFunc prime)) (float n)
|
||||
pd
|
||||
|> Array.mapi productFormula
|
||||
|
||||
let indexArray = Array.mapi (fun i e -> (i,e))
|
||||
|
||||
totientArrayByMax 1000000
|
||||
|> indexArray
|
||||
|> Seq.skip 1
|
||||
|> Seq.map (fun (i,t) -> (i, (float i)/t))
|
||||
|> Seq.maxBy snd
|
||||
Reference in New Issue
Block a user