1 defmodule LargestPrimeFactor do
2 def largest_prime_factor(start, n) do
6 if rem(n, start) == 0 do
7 largest_prime_factor(start, div(n, start))
9 largest_prime_factor(start + 2, n)
14 def largest_prime_factor(n) do
15 n_next = if rem(n, 2) == 0 do
21 largest_prime_factor(3, n_next)
25 IO.puts(LargestPrimeFactor.largest_prime_factor(600851475143))