Skip to content

Instantly share code, notes, and snippets.

@zagorulkinde
Created September 5, 2014 12:11
Show Gist options
  • Save zagorulkinde/1df2d9781076068718d6 to your computer and use it in GitHub Desktop.
Save zagorulkinde/1df2d9781076068718d6 to your computer and use it in GitHub Desktop.
Find 10001 prime in Erlang
-module('euler7').
-export([main/0]).
gen_prime(X) ->
gen_prime(X, []).
gen_prime([H|T], O) when length(O) < 10001 ->
F = filter(H, T),
gen_prime(F, [H|O]);
gen_prime(_T, O) -> % for any which does not match
lists:reverse(O).
filter(H, L) ->
lists:reverse(lists:foldl(fun (X,Acc) ->
if X rem H =:= 0 ->
Acc;
true ->
[X | Acc]
end
end, [], L)).
main() ->
lists:nth(10001, gen_prime(lists:seq(2, 150000))).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment