Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,7 @@
|
|||
let primeZ fN =primes()|>Seq.unfold(fun g-> Some(fN(g()), g))
|
||||
let primesI() =primeZ bigint
|
||||
let primes64() =primeZ int64
|
||||
let primes32() =primeZ int32
|
||||
let pCache =Seq.cache(primes32())
|
||||
let isPrime g=if g<2 then false else let mx=int(sqrt(float g)) in pCache|>Seq.takeWhile(fun n->n<=mx)|>Seq.forall(fun n->g%n>0)
|
||||
let isPrime64 g=if g<2L then false else let mx=int(sqrt(float g)) in pCache|>Seq.takeWhile(fun n->n<=mx)|>Seq.forall(fun n->g%(int64 n)>0L)
|
||||
|
|
@ -0,0 +1 @@
|
|||
Seq.take 20 primes32()|> Seq.iter (fun n-> printf "%d " n)
|
||||
|
|
@ -0,0 +1 @@
|
|||
primes32() |> Seq.skipWhile (fun n->n<100) |> Seq.takeWhile (fun n->n<=150) |> Seq.iter (fun n -> printf "%d " n)
|
||||
|
|
@ -0,0 +1 @@
|
|||
printfn "%d" (primes32() |> Seq.skipWhile (fun n->n<7700) |> Seq.takeWhile (fun n->n<=8000) |> Seq.length)
|
||||
|
|
@ -0,0 +1 @@
|
|||
Seq.item 9999 pCache
|
||||
|
|
@ -0,0 +1 @@
|
|||
Seq.item 10000 pCache
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
let strt = System.DateTime.Now.Ticks
|
||||
for i = 1 to 8 do
|
||||
let n = pown 10 i // the item index below is zero based!
|
||||
printfn "The %dth prime is: %A" n (primeZ int |> Seq.item (n - 1))
|
||||
let timed = (System.DateTime.Now.Ticks - strt) / 10000L
|
||||
printfn "All of the last took %d milliseconds." timed
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
printfn "The first 20 primes are: %s"
|
||||
( primesSeq() |> Seq.take 20
|
||||
|> Seq.fold (fun s p -> s + string p + " ") "" )
|
||||
printfn "The primes from 100 to 150 are: %s"
|
||||
( primesSeq() |> Seq.skipWhile ((>) (prime 100))
|
||||
|> Seq.takeWhile ((>=) (prime 150))
|
||||
|> Seq.fold (fun s p -> s + string p + " ") "" )
|
||||
printfn "The number of primes from 7700 to 8000 are: %d"
|
||||
( primesSeq() |> Seq.skipWhile ((>) (prime 7700))
|
||||
|> Seq.takeWhile ((>=) (prime 8000)) |> Seq.length )
|
||||
let strt = System.DateTime.Now.Ticks
|
||||
for i = 1 to 8 do
|
||||
let n = pown 10 i // the item index below is zero based!
|
||||
printfn "The %dth prime is: %A" n (primesSeq() |> Seq.item (n - 1))
|
||||
let timed = (System.DateTime.Now.Ticks - strt) / 10000L
|
||||
printfn "All of the last took %d milliseconds." timed
|
||||
Loading…
Add table
Add a link
Reference in a new issue