Adopted new convention from template

This commit is contained in:
David Doblas Jiménez 2022-10-02 18:37:34 +02:00
parent 037fb1de95
commit 60d89e8681

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python3 #!/usr/bin/env python
""" """
Created on 12 Sep 2021 Created on 12 Sep 2021
@ -9,40 +9,42 @@ Solution for problem 46 of Project Euler
https://projecteuler.net/problem=46 https://projecteuler.net/problem=46
""" """
from utils import timeit, is_prime from utils import is_prime, timeit
def is_goldbach(number): def is_goldbach(number):
for i in range(number - 1, 1, -1): for i in range(number - 1, 1, -1):
if is_prime(i) and ((number - i) / 2)**0.5 % 1 == 0: if is_prime(i) and ((number - i) / 2) ** 0.5 % 1 == 0:
return True return True
return False return False
@timeit("Problem 46") @timeit("Problem 46")
def compute(): def compute():
""" """
It was proposed by Christian Goldbach that every odd composite number It was proposed by Christian Goldbach that every odd composite number
can be written as the sum of a prime and twice a square. can be written as the sum of a prime and twice a square.
9 = 7 + 2×1^2 9 = 7 + 2x1^2
15 = 7 + 2×2^2 15 = 7 + 2x2^2
21 = 3 + 2×3^2 21 = 3 + 2x3^2
25 = 7 + 2×3^2 25 = 7 + 2x3^2
27 = 19 + 2×2^2 27 = 19 + 2x2^2
33 = 31 + 2×1^2 33 = 31 + 2x1^2
It turns out that the conjecture was false. It turns out that the conjecture was false.
What is the smallest odd composite that cannot be written as the sum What is the smallest odd composite that cannot be written as the sum
of a prime and twice a square? of a prime and twice a square?
""" """
ans = 9 ans = 9
while True: while True:
ans += 2 ans += 2
if not is_prime(ans) and not is_goldbach(ans): if not is_prime(ans) and not is_goldbach(ans):
return ans return ans
if __name__ == "__main__": if __name__ == "__main__":
print(f"Result for Problem 46 is {compute()}")
print(f"Result for Problem 46: {compute()}")