From 90e02ade431ee2f57d45d8009f583e2fd3e0561c Mon Sep 17 00:00:00 2001 From: Bill Rossi Date: Tue, 24 Dec 2024 22:39:41 -0500 Subject: [PATCH] C 2024 day 22 part 1 --- c/2024/22/monkey_market.c | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 c/2024/22/monkey_market.c diff --git a/c/2024/22/monkey_market.c b/c/2024/22/monkey_market.c new file mode 100644 index 0000000..2abed54 --- /dev/null +++ b/c/2024/22/monkey_market.c @@ -0,0 +1,43 @@ +#include +#include +#include +#include + +#include "../../lib/aoc.h" + +void mix(long *secret, long value) { + *secret = *secret ^ value; +} + +void prune(long *secret) { + *secret %= 16777216l; +} + +int main() { + char *line; + long secret; + long answer = 0; + while ((line = aoc_read_line()) != NULL) { + secret = atol(line); + for (int i = 0; i < 2000; i++) { + long guy = secret * 64; + mix(&secret, guy); + prune(&secret); + + guy = secret / 32; + mix(&secret, guy); + prune(&secret); + + guy = secret * 2048; + mix(&secret, guy); + prune(&secret); + } + + answer += secret; + } + + printf("Part 1: %ld", answer); + + aoc_free(); + exit(0); +}