-module(day8).
-export([run/0]).
run()->
Instructions = load_file("day8input.txt"),
{part1(Instructions, [], 0, 1), part2(Instructions, 1)}.
part1(Instructions, PositionsVisited, Acc, Pos)->
case lists:member(Pos, PositionsVisited) of
true -> {infiniteloop, Acc};
false ->
{Instr, Val} = lists:nth(Pos, Instructions),
case Instr of
"nop" -> part1(Instructions, [Pos | PositionsVisited], Acc, Pos + 1);
"acc" -> part1(Instructions, [Pos | PositionsVisited], Acc + Val, Pos + 1);
"jmp" -> part1(Instructions, [Pos | PositionsVisited], Acc, Pos + Val);
endofcode -> {finished, Acc}
end
end.
This file has been truncated. show original