Skip to content

Commit dcc3876

Browse files
Lakshmikanth2001github-actions
and
github-actions
authored
Improve prime_check in math modules (#6044)
* improved prime_check * updating DIRECTORY.md * included suggested changes * updating DIRECTORY.md Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
1 parent f7c58e4 commit dcc3876

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

Diff for: maths/prime_check.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,15 @@ def is_prime(number: int) -> bool:
3737
if 1 < number < 4:
3838
# 2 and 3 are primes
3939
return True
40-
elif number < 2 or not number % 2:
41-
# Negatives, 0, 1 and all even numbers are not primes
40+
elif number < 2 or number % 2 == 0 or number % 3 == 0:
41+
# Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
4242
return False
4343

44-
odd_numbers = range(3, int(math.sqrt(number) + 1), 2)
45-
return not any(not number % i for i in odd_numbers)
44+
# All primes number are in format of 6k +/- 1
45+
for i in range(5, int(math.sqrt(number) + 1), 6):
46+
if number % i == 0 or number % (i + 2) == 0:
47+
return False
48+
return True
4649

4750

4851
class Test(unittest.TestCase):

0 commit comments

Comments
 (0)