restructure + lecutre 07
This commit is contained in:
96 files changed
+458
-4
No files matched your search
@@ -0,0 +1,16 @@
|
||||
let isqrt n = n |> float_of_int |> sqrt |> int_of_float;;
|
||||
|
||||
let sieve n =
|
||||
let is_prime = Array.make n true in
|
||||
for i = 2 to isqrt n do
|
||||
if is_prime.(i) then
|
||||
let j = ref i in
|
||||
while i * !j < n do
|
||||
is_prime.(i * !j) <- false;
|
||||
incr j
|
||||
done
|
||||
done;
|
||||
is_prime.(0) <- false;
|
||||
is_prime.(1) <- false;
|
||||
is_prime |> Array.to_list |> List.mapi (fun i b -> (i, b)) |>
|
||||
List.filter_map (fun (i, b) -> if b then Some i else None);;
|
||||
Reference in new issue
Block a user