Guest User

Untitled

a guest
Feb 20th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. -module(problem3).
  2. -export([solve/0]).
  3. -include_lib("eunit/include/eunit.hrl").
  4.  
  5. primes(N) when N == 1 ->
  6. [1];
  7. primes(N) ->
  8. primes(N, [], 2).
  9.  
  10. primes(1, Primes, _) -> Primes;
  11. primes(N, Primes, Try) when N rem Try == 0 ->
  12. primes(N div Try, [Try | Primes], Try);
  13. primes(N, Primes, Try) ->
  14. primes(N, Primes, Try + 1).
  15.  
  16. solve() ->
  17. lists:max(primes(600851475143)).
  18.  
  19. primes_test_() ->
  20. [
  21. ?_assertMatch([1], primes(1)),
  22. ?_assertMatch([3,2], primes(6)),
  23. ?_assertMatch([13], primes(13)),
  24. ?_assertMatch([13,5,3],primes(195))
  25. ].
  26.  
  27. solve_test_() ->
  28. [
  29. ?_assertMatch(6857,solve())
  30. ].
Add Comment
Please, Sign In to add comment