Day 25: Let It Snow
Section
defmodule CodeFinder do
def find_code(3019, 3010, n, _iteration), do: n
def find_code(x, y, n, iteration) when iteration <= 100_000_000 do
n = rem(n * 252_533, 33_554_393)
{x, y} =
if y == 1 do
{1, x + 1}
else
{x + 1, y - 1}
end
find_code(x, y, n, iteration + 1)
end
end
CodeFinder.find_code(1, 1, 20_151_125, 1)
8997277