day 22 part 1
[aoc_eblake.git] / 2017 / advent17.c
blob99322fc7b8fcd3c4f8a56a47de04a8f2cbab6723
1 #define _GNU_SOURCE 1
2 #include <stdio.h>
3 #include <string.h>
4 #include <stdlib.h>
5 #include <unistd.h>
6 #include <stdint.h>
8 int main(int argc, char **argv)
10 int step = 328;
11 if (argc == 2)
12 step = atoi (argv[1]);
13 int len = 1;
14 int value = 0;
15 int cur = 0;
16 for (int i = 1; i <= 50000000; i++) {
17 if (!(i % 10000))
18 printf ("\b\b\b\b\b\b\b\b\b%9d", i), fflush (stdout);
19 int next = (cur + step) % len;
20 if (!next)
21 value = i;
22 len++;
23 cur = next + 1;
24 if (getenv ("DEBUG") && i < 10) {
25 printf ("iter %d: cur/len is %d/%d, val after 0 is %d\n", i, cur, len,
26 value);
29 printf ("\nnext is %d\n", value);
30 return 0;