diff --git a/day-04/input.txt b/day-04/input.txt new file mode 100644 index 0000000..c5a23a0 --- /dev/null +++ b/day-04/input.txt @@ -0,0 +1,2 @@ +aeoqedn 5 +bgvyzdsv 6 diff --git a/day-04/solution.py b/day-04/solution.py index 4d8792a..b68a639 100644 --- a/day-04/solution.py +++ b/day-04/solution.py @@ -1,15 +1,29 @@ import sys import md5 +import fileinput -word = sys.argv[1] -number = 0 +def ok(digest, zeroes): + for c in digest[0:zeroes]: + if c != "0": + return False -while True: - digester = md5.new(word) - digester.update(str(number)) + return True - if digester.hexdigest()[0:6] == "000000": - print word, number - break +def solve(word, zeroes): + number = 0 + + while True: + digester = md5.new(word) + digester.update(str(number)) + + if ok(digester.hexdigest(), zeroes): + print word, number + break + + number = number + 1 - number = number + 1 +for line in fileinput.input(): + word, zeroes = line.split("\t") + zeroes = int(zeroes.strip()) + + solve(word, zeroes)