Skip to content

Commit b55da04

Browse files
Improve Project Euler problem 058 solution 1 (TheAlgorithms#4782)
* Fix typo * Improve solution * Retest * Replace n with number
1 parent 5f7bb3e commit b55da04

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

project_euler/problem_058/sol1.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,26 +33,28 @@
3333
count of current primes.
3434
3535
"""
36+
from math import isqrt
3637

3738

38-
def isprime(d: int) -> int:
39+
def isprime(number: int) -> int:
3940
"""
40-
returns whether the given digit is prime or not
41+
returns whether the given number is prime or not
4142
>>> isprime(1)
4243
0
4344
>>> isprime(17)
4445
1
4546
>>> isprime(10000)
4647
0
4748
"""
48-
if d == 1:
49+
if number == 1:
4950
return 0
5051

51-
i = 2
52-
while i * i <= d:
53-
if d % i == 0:
52+
if number % 2 == 0 and number > 2:
53+
return 0
54+
55+
for i in range(3, isqrt(number) + 1, 2):
56+
if number % i == 0:
5457
return 0
55-
i = i + 1
5658
return 1
5759

5860

0 commit comments

Comments
 (0)