8
8
9
9
Overview:
10
10
11
- isPrime(number)
12
11
sieveEr(N)
13
12
getPrimeNumbers(N)
14
13
primeFactorization(number)
38
37
39
38
"""
40
39
41
- from math import sqrt
42
-
43
-
44
- def isPrime (number ):
45
- """
46
- input: positive integer 'number'
47
- returns true if 'number' is prime otherwise false.
48
- """
49
-
50
- # precondition
51
- assert isinstance (number , int ) and (
52
- number >= 0
53
- ), "'number' must been an int and positive"
54
-
55
- status = True
56
-
57
- # 0 and 1 are none primes.
58
- if number <= 1 :
59
- status = False
60
-
61
- for divisor in range (2 , int (round (sqrt (number ))) + 1 ):
62
-
63
- # if 'number' divisible by 'divisor' then sets 'status'
64
- # of false and break up the loop.
65
- if number % divisor == 0 :
66
- status = False
67
- break
68
-
69
- # precondition
70
- assert isinstance (status , bool ), "'status' must been from type bool"
71
-
72
- return status
73
-
74
-
75
- # ------------------------------------------
40
+ from prime_check import prime_check
76
41
77
42
78
43
def sieveEr (N ):
@@ -129,7 +94,7 @@ def getPrimeNumbers(N):
129
94
# if a number is prime then appends to list 'ans'
130
95
for number in range (2 , N + 1 ):
131
96
132
- if isPrime (number ):
97
+ if prime_check (number ):
133
98
134
99
ans .append (number )
135
100
@@ -164,11 +129,11 @@ def primeFactorization(number):
164
129
ans .append (number )
165
130
166
131
# if 'number' not prime then builds the prime factorization of 'number'
167
- elif not isPrime (number ):
132
+ elif not prime_check (number ):
168
133
169
134
while quotient != 1 :
170
135
171
- if isPrime (factor ) and (quotient % factor == 0 ):
136
+ if prime_check (factor ) and (quotient % factor == 0 ):
172
137
ans .append (factor )
173
138
quotient /= factor
174
139
else :
@@ -317,8 +282,8 @@ def goldbach(number):
317
282
isinstance (ans , list )
318
283
and (len (ans ) == 2 )
319
284
and (ans [0 ] + ans [1 ] == number )
320
- and isPrime (ans [0 ])
321
- and isPrime (ans [1 ])
285
+ and prime_check (ans [0 ])
286
+ and prime_check (ans [1 ])
322
287
), "'ans' must contains two primes. And sum of elements must been eq 'number'"
323
288
324
289
return ans
@@ -462,11 +427,11 @@ def getPrime(n):
462
427
463
428
# if ans not prime then
464
429
# runs to the next prime number.
465
- while not isPrime (ans ):
430
+ while not prime_check (ans ):
466
431
ans += 1
467
432
468
433
# precondition
469
- assert isinstance (ans , int ) and isPrime (
434
+ assert isinstance (ans , int ) and prime_check (
470
435
ans
471
436
), "'ans' must been a prime number and from type int"
472
437
@@ -486,7 +451,7 @@ def getPrimesBetween(pNumber1, pNumber2):
486
451
487
452
# precondition
488
453
assert (
489
- isPrime (pNumber1 ) and isPrime (pNumber2 ) and (pNumber1 < pNumber2 )
454
+ prime_check (pNumber1 ) and prime_check (pNumber2 ) and (pNumber1 < pNumber2 )
490
455
), "The arguments must been prime numbers and 'pNumber1' < 'pNumber2'"
491
456
492
457
number = pNumber1 + 1 # jump to the next number
@@ -495,7 +460,7 @@ def getPrimesBetween(pNumber1, pNumber2):
495
460
496
461
# if number is not prime then
497
462
# fetch the next prime number.
498
- while not isPrime (number ):
463
+ while not prime_check (number ):
499
464
number += 1
500
465
501
466
while number < pNumber2 :
@@ -505,7 +470,7 @@ def getPrimesBetween(pNumber1, pNumber2):
505
470
number += 1
506
471
507
472
# fetch the next prime number.
508
- while not isPrime (number ):
473
+ while not prime_check (number ):
509
474
number += 1
510
475
511
476
# precondition
0 commit comments