day 22 part 1
[aoc_eblake.git] / 2017 / advent15.c
blobd47e0fc1090ec400ba63fba17f0f6bf7ae85927e
1 #define _GNU_SOURCE 1
2 #include <stdio.h>
3 #include <string.h>
4 #include <stdlib.h>
5 #include <unistd.h>
7 int main(int argc, char **argv)
9 if (argc != 3)
10 return 1;
11 unsigned int a = atoi (argv[1]);
12 unsigned int b = atoi (argv[2]);
13 int match = 0;
14 for (int i = 0; i < 5000000; i++) {
15 do {
16 a = a * 16807ULL % 2147483647;
17 } while (a % 4);
18 do {
19 b = b * 48271ULL % 2147483647;
20 } while (b % 8);
21 if ((a & 0xffff) == (b & 0xffff))
22 match++;
24 printf ("total matches: %d\n", match);
25 return 0;