Refactor code for API (#3)
Co-authored-by: Mikael CAPELLE <mikael.capelle@thalesaleniaspace.com> Co-authored-by: Mikaël Capelle <capelle.mikael@gmail.com> Reviewed-on: #3
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import itertools
|
||||
import sys
|
||||
from typing import Any, Iterator
|
||||
|
||||
target = int(sys.stdin.read())
|
||||
from ..base import BaseSolver
|
||||
|
||||
|
||||
def presents(n: int, elf: int, max: int = target) -> int:
|
||||
def presents(n: int, elf: int, max: int) -> int:
|
||||
count = 0
|
||||
k = 1
|
||||
while k * k < n:
|
||||
@@ -21,8 +21,9 @@ def presents(n: int, elf: int, max: int = target) -> int:
|
||||
return count
|
||||
|
||||
|
||||
answer_1 = next(n for n in itertools.count(1) if presents(n, 10) >= target)
|
||||
print(f"answer 1 is {answer_1}")
|
||||
class Solver(BaseSolver):
|
||||
def solve(self, input: str) -> Iterator[Any]:
|
||||
target = int(input)
|
||||
|
||||
answer_2 = next(n for n in itertools.count(1) if presents(n, 11, 50) >= target)
|
||||
print(f"answer 2 is {answer_2}")
|
||||
yield next(n for n in itertools.count(1) if presents(n, 10, target) >= target)
|
||||
yield next(n for n in itertools.count(1) if presents(n, 11, 50) >= target)
|
||||
|
Reference in New Issue
Block a user