Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -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)

View file

@ -0,0 +1 @@
Seq.take 20 primes32()|> Seq.iter (fun n-> printf "%d " n)

View file

@ -0,0 +1 @@
primes32() |> Seq.skipWhile (fun n->n<100) |> Seq.takeWhile (fun n->n<=150) |> Seq.iter (fun n -> printf "%d " n)

View file

@ -0,0 +1 @@
printfn "%d" (primes32() |> Seq.skipWhile (fun n->n<7700) |> Seq.takeWhile (fun n->n<=8000) |> Seq.length)

View file

@ -0,0 +1 @@
Seq.item 9999 pCache

View file

@ -0,0 +1 @@
Seq.item 10000 pCache

View file

@ -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

View file

@ -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