From 06a24f45a2cb811aaf6b522187d25042ca685d45 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Mon, 11 Nov 2024 20:56:54 +0100 Subject: aoc 2015, day04 --- 2015/src/day04.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 2015/src/day04.cpp (limited to '2015') diff --git a/2015/src/day04.cpp b/2015/src/day04.cpp new file mode 100644 index 0000000..bc24177 --- /dev/null +++ b/2015/src/day04.cpp @@ -0,0 +1,52 @@ +// Standard C++ +#include +#include +#include +#include + +// Standard C +#include + +// System +#include + +using namespace std; + +void +brute_force(string_view puzzle, size_t length) +{ + array digest{}; + + string input; + for ( unsigned long counter = 0;; ++counter ) { + input = puzzle; + input += to_string(counter); + MD5Data(input.data(), input.size(), digest.data()); + + if ( memcmp(digest.data(), "00000000000", length) == 0 ) { + cout << digest.data() << ": " << counter << endl; + return; + } + } +} + +void +part1(string_view puzzle) +{ + brute_force(puzzle, 5); +} + +void +part2(string_view puzzle) +{ + brute_force(puzzle, 6); +} + +int +main() +{ + string puzzle = "yzbqklnj"; + + part1(puzzle); + part2(puzzle); +} -- cgit v1.3