From e7c9108b95e39d7ea5a29ae06d619c4727f11027 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Fri, 29 Oct 2021 23:02:39 +0200 Subject: Initial commit --- 2015/04/.gitignore | 1 + 2015/04/Makefile | 7 +++++++ 2015/04/input | 1 + 2015/04/puzzles.c | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 2015/04/.gitignore create mode 100644 2015/04/Makefile create mode 100644 2015/04/input create mode 100644 2015/04/puzzles.c (limited to '2015/04') diff --git a/2015/04/.gitignore b/2015/04/.gitignore new file mode 100644 index 0000000..60d075d --- /dev/null +++ b/2015/04/.gitignore @@ -0,0 +1 @@ +puzzle-[12] diff --git a/2015/04/Makefile b/2015/04/Makefile new file mode 100644 index 0000000..10ec8f9 --- /dev/null +++ b/2015/04/Makefile @@ -0,0 +1,7 @@ +all: + ${CC} ${CFLAGS} -lmd -DINPUT=\"$$(cat input)\" -o puzzle-1 puzzles.c + ${CC} ${CFLAGS} -lmd -DINPUT=\"$$(cat input)\" -DPART2 -o puzzle-2 puzzles.c + +.PHONY: clean +clean: + rm -f puzzle-[12] diff --git a/2015/04/input b/2015/04/input new file mode 100644 index 0000000..bf3e46f --- /dev/null +++ b/2015/04/input @@ -0,0 +1 @@ +bgvyzdsv diff --git a/2015/04/puzzles.c b/2015/04/puzzles.c new file mode 100644 index 0000000..22833a2 --- /dev/null +++ b/2015/04/puzzles.c @@ -0,0 +1,35 @@ +#include + +#include +#include +#include +#include +#include + +#define BUFFER 128 +#ifdef PART2 + #define ZEROS "000000" + #define NUM_ZEROS 6 +#else + #define ZEROS "00000" + #define NUM_ZEROS 5 +#endif + +int +main(void) +{ + unsigned int i = 0; + char buffer[MD5_DIGEST_STRING_LENGTH], digest[BUFFER]; + MD5_CTX ctx; + + do { + snprintf(digest, BUFFER, INPUT "%u", i); + + MD5Init(&ctx); + MD5Update(&ctx, (uint8_t *) digest, strlen(digest)); + MD5End(&ctx, buffer); + } while (strncmp(buffer, ZEROS, NUM_ZEROS) && ++i); + + printf("%u\n", i); + return EXIT_SUCCESS; +} -- cgit v1.2.3