|
1 | 1 | def SieveOfEratosthenes(range_to):
|
2 | 2 |
|
3 |
| - # creating a boolean array first |
4 |
| - prime = [True for i in range(range_to + 1)] |
5 |
| - p = 2 |
6 |
| - while (p * p <= range_to): |
7 |
| - |
8 |
| - # If prime[p] is not changed, then it is a prime |
9 |
| - if (prime[p] == True): |
10 |
| - |
11 |
| - # Update all multiples of p |
12 |
| - for i in range(p * 2, range_to + 1, p): |
13 |
| - prime[i] = False |
14 |
| - p += 1 |
15 |
| - print([p for p in range(2, range_to) if prime[p]]) |
| 3 | + # creating a boolean array first |
| 4 | + prime = [True for i in range(range_to + 1)] |
| 5 | + p = 2 |
| 6 | + while (p * p <= range_to): |
16 | 7 |
|
17 |
| -def prime(range_from, range_to): |
18 |
| - |
19 |
| - allList = [x for x in range(2, range_to + 1)] |
| 8 | + # If prime[p] is not changed, then it is a prime |
| 9 | + if (prime[p] == True): |
| 10 | + |
| 11 | + # Update all multiples of p |
| 12 | + for i in range(p * 2, range_to + 1, p): |
| 13 | + prime[i] = False |
| 14 | + |
| 15 | + p += 1 |
20 | 16 |
|
21 |
| - ptr = 0 |
22 |
| - while True: |
23 |
| - i = 2 |
24 |
| - while i * allList[ptr] <= range_to: |
25 |
| - if i*allList[ptr] in allList: |
26 |
| - allList.remove(i*allList[ptr]) |
27 |
| - i += 1 |
28 |
| - ptr += 1 |
29 |
| - if allList[ptr] ** 2 > range_to: |
30 |
| - break |
| 17 | + print([p for p in range(2, range_to) if prime[p]]) |
31 | 18 |
|
32 | 19 |
|
33 |
| - primeList = [x for x in allList if x > range_from] |
34 |
| - print("Prime List Between ", range_from, " and ", range_to, " is") |
35 |
| - print(primeList) |
| 20 | +def is_prime(num): |
| 21 | + for i in range(2, int(num / 2) + 1): |
| 22 | + if num % i == 0: |
| 23 | + return False |
| 24 | + return True |
36 | 25 |
|
| 26 | + |
| 27 | +def prime(range_from, range_to): |
| 28 | + allList = [num for num in range(range_from, range_to + 1) if is_prime(num)] |
| 29 | + |
| 30 | + print("Prime List Between", range_from, "and", range_to, "is") |
| 31 | + print(allList) |
37 | 32 |
|
38 | 33 |
|
39 | 34 | if __name__ == "__main__":
|
40 |
| - print("Enter the range of number") |
41 |
| - range_from = int(input("From: ")) |
42 |
| - range_to = int(input("To: ")) |
43 |
| - |
44 |
| - prime(range_from, range_to) |
45 |
| - SieveOfEratosthenes(range_to) |
| 35 | + print("Enter the range of number") |
| 36 | + range_from = int(input("From: ")) |
| 37 | + range_to = int(input("To: ")) |
46 | 38 |
|
| 39 | + prime(range_from, range_to) |
| 40 | + SieveOfEratosthenes(range_to) |
0 commit comments