Solve 293 and 686

This commit is contained in:
2024-07-04 11:55:39 -04:00
parent b889c12ae7
commit 452dda6fc9
3 changed files with 99 additions and 0 deletions

29
python/e686.py Normal file
View File

@@ -0,0 +1,29 @@
def p(leading_digits, count):
n_cutoff = 18
leading_digits_str = str(leading_digits)
n_digits = len(leading_digits_str)
j, current_leading, found = 1, 2, 0
while found < count:
current_leading *= 2
j += 1
current_leading_str = str(current_leading)
if current_leading_str[:n_digits] == leading_digits_str:
found += 1
current_leading = int(current_leading_str[:n_cutoff])
return j
def euler_686():
assert p(12, 1) == 7
assert p(12, 2) == 80
assert p(123, 45) == 12710
assert p(123, 100) == 28343
assert p(123, 1000) == 284168
return p(123, 678910)
if __name__ == "__main__":
solution = euler_686()
print("e686.py: " + str(solution))
assert solution == 193060223