Add type hints in problems 51-53
This commit is contained in:
parent
0f27c7f65a
commit
491eb89201
@ -17,7 +17,7 @@ N = 1000000
|
||||
primes = sieve(N)
|
||||
|
||||
|
||||
def count_digit(n, d):
|
||||
def count_digit(n: int, d: int) -> int:
|
||||
count = 0
|
||||
|
||||
while n > 0:
|
||||
@ -28,10 +28,10 @@ def count_digit(n, d):
|
||||
return count
|
||||
|
||||
|
||||
def replace(n):
|
||||
def replace(n: int) -> int:
|
||||
n_string = list(str(n))
|
||||
l = len(n_string)
|
||||
max_ = 0
|
||||
_max = 0
|
||||
|
||||
for i in range(l-3):
|
||||
for j in range(i+1, l-2):
|
||||
@ -54,16 +54,16 @@ def replace(n):
|
||||
if primes[n_replaced] == 1:
|
||||
if count == 0 and n_replaced != n:
|
||||
continue
|
||||
|
||||
count = count + 1
|
||||
|
||||
if count > max_:
|
||||
max_ = count
|
||||
_max = max(_max, count)
|
||||
|
||||
return max_
|
||||
return _max
|
||||
|
||||
|
||||
@timing
|
||||
def p051():
|
||||
def p051() -> None:
|
||||
# Checking only odd numbers with at least 4 digits.
|
||||
i = 1001
|
||||
|
||||
@ -78,6 +78,7 @@ def p051():
|
||||
count_digit(i, 2) >= 3:
|
||||
if primes[i] == 1 and replace(i) == 8:
|
||||
break
|
||||
|
||||
i = i + 2
|
||||
|
||||
print('Project Euler, Problem 51')
|
||||
|
@ -8,7 +8,7 @@ from projecteuler import timing
|
||||
|
||||
|
||||
@timing
|
||||
def p052():
|
||||
def p052() -> None:
|
||||
i = 1
|
||||
|
||||
# Brute force approach, try every integer number until the desired one is found.
|
||||
@ -19,6 +19,7 @@ def p052():
|
||||
''.join(sorted(str(i))) == ''.join(sorted(str(5*i))) and\
|
||||
''.join(sorted(str(i))) == ''.join(sorted(str(6*i))):
|
||||
break
|
||||
|
||||
i = i + 1
|
||||
|
||||
print('Project Euler, Problem 52')
|
||||
|
@ -18,7 +18,7 @@ from projecteuler import timing
|
||||
|
||||
|
||||
@timing
|
||||
def p053():
|
||||
def p053() -> None:
|
||||
LIMIT = 1000000
|
||||
|
||||
count = 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user