Add day 25 solution.
This commit is contained in:
parent
3d85144065
commit
c6ac448ad2
28
day25.cr
Normal file
28
day25.cr
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
require "advent"
|
||||||
|
INPUT = input(2020, 25).lines.map(&.to_i64)
|
||||||
|
|
||||||
|
def transform(s)
|
||||||
|
i = 1_i64
|
||||||
|
c = 0
|
||||||
|
loop do
|
||||||
|
c += 1
|
||||||
|
i = (i * s) % 20201227
|
||||||
|
yield i, c
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_size(s, goal)
|
||||||
|
transform(s) do |n, c|
|
||||||
|
return c if n == goal
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def part1(input)
|
||||||
|
goal = find_size(7, input[0])
|
||||||
|
puts goal
|
||||||
|
transform(input[1]) do |n, c|
|
||||||
|
return n if c == goal
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
puts part1(INPUT.clone)
|
Loading…
Reference in New Issue
Block a user