-
-
Notifications
You must be signed in to change notification settings - Fork 46.8k
Euler Problem 27 solution script Added #1466
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
03ffa62
7b5fbaa
264615b
e802182
8f2f0be
568d408
8eaf27f
a91f13c
34a2715
ff57137
aef684f
e9fe8cb
bd47691
10e64cf
a3ec424
e6a2a00
ca19869
2f0d188
4a9d42c
5d98bc4
e18154f
bb79007
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,38 +11,52 @@ | |
|
||
import math | ||
|
||
|
||
def isPrime(k): | ||
# checks if a number is prime | ||
if k < 2: return False | ||
elif k == 2: return True | ||
elif k % 2 == 0: return False | ||
else: | ||
for x in range(3, int(math.sqrt(k)+1), 2): | ||
if k % x == 0: return False | ||
# checks if a number is prime | ||
if k < 2: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
return False | ||
elif k == 2: | ||
return True | ||
elif k % 2 == 0: | ||
return False | ||
else: | ||
for x in range(3, int(math.sqrt(k) + 1), 2): | ||
if k % x == 0: | ||
return False | ||
|
||
return True | ||
return True | ||
|
||
|
||
def solution(a_limit, b_limit): | ||
""" | ||
>>> solution(1000, 1000) | ||
-59231 | ||
>>> solution(2000, 2000) | ||
-126479 | ||
>>> solution(-1000, 1000) | ||
0 | ||
>>> solution(-1000, -1000) | ||
0 | ||
|
||
""" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Dedent lines 33 through 42 so they are all left aligned with line 32. |
||
longest = [0, 0, 0] | ||
# length, a, b | ||
# length, a, b | ||
for a in range((a_limit * -1) + 1, a_limit): | ||
for b in range(2, b_limit): | ||
if isPrime(b): | ||
count = 0 | ||
n = 0 | ||
while isPrime((n**2) + (a*n) + b): | ||
while isPrime((n ** 2) + (a * n) + b): | ||
count += 1 | ||
n += 1 | ||
|
||
if count > longest[0]: | ||
longest = [count, a, b] | ||
|
||
ans=longest[1]*longest[2] | ||
ans = longest[1] * longest[2] | ||
return ans | ||
|
||
|
||
|
||
|
||
if __name__ == "__main__": | ||
print(solution(1000, 1000)) | ||
print(solution(1000, 1000)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let’s use a Pythonic function name and add type hints:
def is_prime(k: int) -> bool