diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/2015/day4/aoc.cpp | 29 | ||||
-rw-r--r-- | src/2015/day4/aoc.h | 3 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/2015/day4/aoc.cpp b/src/2015/day4/aoc.cpp index 6e47928..1bb0d4e 100644 --- a/src/2015/day4/aoc.cpp +++ b/src/2015/day4/aoc.cpp @@ -1,3 +1,30 @@ #include "aoc.h" -namespace aoc2015 {} +namespace aoc2015 { + +char* md5sum(char* s) { + static char md5[64] = {0}; + uint8_t* x = md5String(s); + memset(md5, 0x0, 64); + for (auto i = 0; i < 16; i++) { + sprintf(md5 + i * 2, "%02x", x[i]); + } + return md5; +} + +int lead_zeros(char* s) { + char* p = s; + int total = 0; + while (*p != '\0') { + if (*p == '0') { + total += 1; + p++; + } + else { + break; + } + } + return total; +} + +} // namespace aoc2015 diff --git a/src/2015/day4/aoc.h b/src/2015/day4/aoc.h index c8a6225..56d8ba3 100644 --- a/src/2015/day4/aoc.h +++ b/src/2015/day4/aoc.h @@ -4,4 +4,7 @@ namespace aoc2015 { +char* md5sum(char *); +int lead_zeros(char*); + } |