Skip to content

Commit ee379e3

Browse files
committed
2 parents 3463c4b + de32273 commit ee379e3

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

nth-prime/nth_prime.exs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,23 @@ defmodule Prime do
1010
def nth(n), do: calc_nth(n)
1111

1212
defp calc_nth(n, acc \\ 5, i \\ 11)
13-
defp calc_nth(n, n, i), do: i
13+
14+
defp calc_nth(n, n, i) do
15+
i
16+
end
17+
1418
defp calc_nth(n, acc, i) when acc < n do
1519
cond do
16-
is_prime(i+1) -> calc_nth(n, acc+1, i+1)
17-
true -> calc_nth(n, acc, i+1)
20+
prime?(i+1) ->
21+
calc_nth(n, acc+1, i+1)
22+
23+
true ->
24+
calc_nth(n, acc, i+1)
1825
end
1926
end
2027

21-
defp is_prime(i, n \\ 2)
22-
defp is_prime(i, n) when n < i and rem(i, n) == 0, do: false
23-
defp is_prime(i, n) when n < i, do: is_prime(i, n+1)
24-
defp is_prime(i, i), do: true
28+
defp prime?(i, n \\ 2)
29+
defp prime?(i, n) when n < i and rem(i, n) == 0, do: false
30+
defp prime?(i, n) when n < i, do: is_prime(i, n+1)
31+
defp prime?(i, i), do: true
2532
end

0 commit comments

Comments
 (0)