File tree 6 files changed +37
-38
lines changed
6 files changed +37
-38
lines changed Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ def rabinMiller(num: int) -> bool:
25
25
return True
26
26
27
27
28
- def isPrime (num : int ) -> bool :
28
+ def is_prime_low_num (num : int ) -> bool :
29
29
if num < 2 :
30
30
return False
31
31
@@ -213,11 +213,11 @@ def isPrime(num: int) -> bool:
213
213
def generateLargePrime (keysize : int = 1024 ) -> int :
214
214
while True :
215
215
num = random .randrange (2 ** (keysize - 1 ), 2 ** (keysize ))
216
- if isPrime (num ):
216
+ if is_prime_low_num (num ):
217
217
return num
218
218
219
219
220
220
if __name__ == "__main__" :
221
221
num = generateLargePrime ()
222
222
print (("Prime number:" , num ))
223
- print (("isPrime :" , isPrime (num )))
223
+ print (("is_prime_low_num :" , is_prime_low_num (num )))
Original file line number Diff line number Diff line change 6
6
# This is a probabilistic check to test primality, useful for big numbers!
7
7
# if it's a prime, it will return true
8
8
# if it's not a prime, the chance of it returning true is at most 1/4**prec
9
- def is_prime (n , prec = 1000 ):
9
+ def is_prime_big (n , prec = 1000 ):
10
10
"""
11
- >>> from .prime_check import prime_check
12
- >>> # all(is_prime (i) == prime_check(i) for i in range(1000)) # 3.45s
13
- >>> all(is_prime (i) == prime_check(i) for i in range(256))
11
+ >>> from maths .prime_check import prime_check
12
+ >>> # all(is_prime_big (i) == prime_check(i) for i in range(1000)) # 3.45s
13
+ >>> all(is_prime_big (i) == prime_check(i) for i in range(256))
14
14
True
15
15
"""
16
16
if n < 2 :
@@ -48,4 +48,4 @@ def is_prime(n, prec=1000):
48
48
if __name__ == "__main__" :
49
49
n = abs (int (input ("Enter bound : " ).strip ()))
50
50
print ("Here's the list of primes:" )
51
- print (", " .join (str (i ) for i in range (n + 1 ) if is_prime (i )))
51
+ print (", " .join (str (i ) for i in range (n + 1 ) if is_prime_big (i )))
Original file line number Diff line number Diff line change 13
13
import math
14
14
15
15
16
- def isprime (num : int ) -> bool :
16
+ def is_prime (num : int ) -> bool :
17
17
"""
18
18
Returns boolean representing primality of given number num.
19
19
20
- >>> isprime (2)
20
+ >>> is_prime (2)
21
21
True
22
- >>> isprime (3)
22
+ >>> is_prime (3)
23
23
True
24
- >>> isprime (27)
24
+ >>> is_prime (27)
25
25
False
26
- >>> isprime (2999)
26
+ >>> is_prime (2999)
27
27
True
28
- >>> isprime (0)
28
+ >>> is_prime (0)
29
29
Traceback (most recent call last):
30
30
...
31
31
ValueError: Parameter num must be greater than or equal to two.
32
- >>> isprime (1)
32
+ >>> is_prime (1)
33
33
Traceback (most recent call last):
34
34
...
35
35
ValueError: Parameter num must be greater than or equal to two.
@@ -84,18 +84,18 @@ def solution(n: int = 600851475143) -> int:
84
84
if n <= 0 :
85
85
raise ValueError ("Parameter n must be greater than or equal to one." )
86
86
max_number = 0
87
- if isprime (n ):
87
+ if is_prime (n ):
88
88
return n
89
89
while n % 2 == 0 :
90
90
n //= 2
91
- if isprime (n ):
91
+ if is_prime (n ):
92
92
return n
93
93
for i in range (3 , int (math .sqrt (n )) + 1 , 2 ):
94
94
if n % i == 0 :
95
- if isprime (n // i ):
95
+ if is_prime (n // i ):
96
96
max_number = n // i
97
97
break
98
- elif isprime (i ):
98
+ elif is_prime (i ):
99
99
max_number = i
100
100
return max_number
101
101
Original file line number Diff line number Diff line change 13
13
"""
14
14
15
15
16
- def isprime (number : int ) -> bool :
16
+ def is_prime (number : int ) -> bool :
17
17
"""
18
18
Determines whether the given number is prime or not
19
19
20
- >>> isprime (2)
20
+ >>> is_prime (2)
21
21
True
22
- >>> isprime (15)
22
+ >>> is_prime (15)
23
23
False
24
- >>> isprime (29)
24
+ >>> is_prime (29)
25
25
True
26
26
"""
27
27
@@ -76,7 +76,7 @@ def solution(nth: int = 10001) -> int:
76
76
primes : list [int ] = []
77
77
num = 2
78
78
while len (primes ) < nth :
79
- if isprime (num ):
79
+ if is_prime (num ):
80
80
primes .append (num )
81
81
num += 1
82
82
else :
Original file line number Diff line number Diff line change 15
15
import math
16
16
17
17
18
- def prime_check (number : int ) -> bool :
18
+ def is_prime (number : int ) -> bool :
19
19
"""
20
20
Determines whether a given number is prime or not
21
21
22
- >>> prime_check (2)
22
+ >>> is_prime (2)
23
23
True
24
- >>> prime_check (15)
24
+ >>> is_prime (15)
25
25
False
26
- >>> prime_check (29)
26
+ >>> is_prime (29)
27
27
True
28
28
"""
29
29
@@ -39,7 +39,7 @@ def prime_generator():
39
39
40
40
num = 2
41
41
while True :
42
- if prime_check (num ):
42
+ if is_prime (num ):
43
43
yield num
44
44
num += 1
45
45
Original file line number Diff line number Diff line change 36
36
from math import isqrt
37
37
38
38
39
- def isprime (number : int ) -> int :
39
+ def is_prime (number : int ) -> int :
40
40
"""
41
- returns whether the given number is prime or not
42
- >>> isprime (1)
41
+ Returns whether the given number is prime or not
42
+ >>> is_prime (1)
43
43
0
44
- >>> isprime (17)
44
+ >>> is_prime (17)
45
45
1
46
- >>> isprime (10000)
46
+ >>> is_prime (10000)
47
47
0
48
48
"""
49
49
if number == 1 :
@@ -60,7 +60,7 @@ def isprime(number: int) -> int:
60
60
61
61
def solution (ratio : float = 0.1 ) -> int :
62
62
"""
63
- returns the side length of the square spiral of odd length greater
63
+ Returns the side length of the square spiral of odd length greater
64
64
than 1 for which the ratio of primes along both diagonals
65
65
first falls below the given ratio.
66
66
>>> solution(.5)
@@ -76,9 +76,8 @@ def solution(ratio: float = 0.1) -> int:
76
76
77
77
while primes / (2 * j - 1 ) >= ratio :
78
78
for i in range (j * j + j + 1 , (j + 2 ) * (j + 2 ), j + 1 ):
79
- primes = primes + isprime (i )
80
-
81
- j = j + 2
79
+ primes += is_prime (i )
80
+ j += 2
82
81
return j
83
82
84
83
You can’t perform that action at this time.
0 commit comments