File tree Expand file tree Collapse file tree 5 files changed +29
-28
lines changed Expand file tree Collapse file tree 5 files changed +29
-28
lines changed Original file line number Diff line number Diff line change 1
1
import random
2
2
3
- from binary_exp_mod import bin_exp_mod
3
+ from . binary_exp_mod import bin_exp_mod
4
4
5
5
6
6
# This is a probabilistic check to test primality, useful for big numbers!
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 11
11
References:
12
12
- https://en.wikipedia.org/wiki/Prime_number
13
13
"""
14
+ from typing import List
14
15
15
16
16
- def isprime (number : int ) -> bool :
17
+ def is_prime (number : int ) -> bool :
17
18
"""
18
19
Determines whether the given number is prime or not
19
20
20
- >>> isprime (2)
21
+ >>> is_prime (2)
21
22
True
22
- >>> isprime (15)
23
+ >>> is_prime (15)
23
24
False
24
- >>> isprime (29)
25
+ >>> is_prime (29)
25
26
True
26
27
"""
27
28
@@ -73,10 +74,10 @@ def solution(nth: int = 10001) -> int:
73
74
raise TypeError ("Parameter nth must be int or castable to int." ) from None
74
75
if nth <= 0 :
75
76
raise ValueError ("Parameter nth must be greater than or equal to one." )
76
- primes : list [int ] = []
77
+ primes : List [int ] = []
77
78
num = 2
78
79
while len (primes ) < nth :
79
- if isprime (num ):
80
+ if is_prime (num ):
80
81
primes .append (num )
81
82
num += 1
82
83
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
41
returns whether the given number is prime or not
42
- >>> isprime (1)
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 :
@@ -76,7 +76,7 @@ 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 )
79
+ primes = primes + is_prime (i )
80
80
81
81
j = j + 2
82
82
return j
You can’t perform that action at this time.
0 commit comments