We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 056c41b commit 70a4fe3Copy full SHA for 70a4fe3
2024/ruby/day22.rb
@@ -0,0 +1,25 @@
1
+require_relative 'day'
2
+require 'parallel'
3
+
4
+class Day22 < Day # >
5
6
+ # @example
7
+ # day.part1 #=> 37327623
8
+ def part1
9
+ initial_secret_numbers = input.split("\n").map(&:to_i)
10
+ Parallel.map(initial_secret_numbers) { |initial_secret_number|
11
+ 2000.times.inject(initial_secret_number) { |secret_number, _|
12
+ secret_number = ((secret_number * 64) ^ secret_number) % 16777216
13
+ secret_number = ((secret_number / 32).floor ^ secret_number) % 16777216
14
+ secret_number = ((secret_number * 2048) ^ secret_number) % 16777216
15
+ }
16
+ }.reduce(&:+)
17
+ end
18
19
20
+ # day.part2 #=> 'how are you'
21
+ def part2
22
23
24
+ EXAMPLE_INPUT = File.read("../inputs/day22-example-input.txt")
25
+end
0 commit comments