-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGet Prime Number Slices.py
More file actions
40 lines (38 loc) · 1.52 KB
/
Get Prime Number Slices.py
File metadata and controls
40 lines (38 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Ultra fast isPrime algorithm
def isUltraPrime(number):
#Gets every number that could be a factor then gets sqrt because of repitiion then adds one because of how range works
for candidateFactor in range(2,int(number**0.5 + 1)):
# This does not divide evenly and it is not a factor
if number % candidateFactor > 0:
pass
#If it divdes evently then makes the function False
elif number % candidateFactor == 0:
return False
return True
#Super Fast Algorithm version 3
def ultraFastAlgorithm():
# Selects the interval, number of slices.
interval = 10000
numberOfSlices = 100
numberOfPrimes = 0
primeNumberList = []
# Get the number of primes in each slice
for oneSlice in range(0,numberOfSlices):
startValue = oneSlice*interval+1
endValue = interval*(oneSlice+1)
numberOfPrimes = 0
if startValue == 1:
startValue = 2
for everyNumber in range(startValue,endValue):
if isUltraPrime(everyNumber):
numberOfPrimes += 1
pass
print("(" + str(startValue) + "," + str(numberOfPrimes) + ")")
else:
for everyNumber in range(startValue,endValue):
if isUltraPrime(everyNumber) == True:
numberOfPrimes += 1
pass
#Prints number of percent of primes of end number
print("(" + str(startValue) + "," + str(numberOfPrimes) + ")")
ultraFastAlgorithm()