Viết chương trình python để in các số nguyên tố cho phạm vi đầu vào của người dùng.

Chạy
low, high = 2, 10
primes = [2, 3]

for num in range[low, high + 1]:
    flag = 0
    
    if num < 2:
        flag = 1
        
    if num % 2 == 0:
        continue
        
    if num % 3 == 0:
        continue
        
    iter = 2
    while iter < int[pow[num, 0.5]]:
        if num % iter == 0:
            flag = 1
            break
        iter += 1
        
    if flag == 0:
        primes.append[num]

print[primes]

Số nguyên tố là số tự nhiên lớn hơn 1 và không có ước nào ngoài 1 và chính nó. Bạn có thể viết một mã bằng Python sẽ giúp bạn tìm tất cả các số nguyên tố. Trong bài viết này, chúng ta sẽ xem cách viết chương trình số nguyên tố bằng Python theo trình tự sau

Bắt đầu nào

Một số nguyên tố là gì?

Số nguyên dương lớn hơn 1 không có ước nào khác ngoài 1 và chính nó được gọi là số nguyên tố. Các số 2, 3, 5, 7, v.v. là các số nguyên tố vì chúng không có thừa số nào khác. Để tìm một số nguyên tố trong Python, bạn phải lặp lại giá trị từ đầu đến cuối bằng vòng lặp for và với mỗi số, nếu nó lớn hơn 1, hãy kiểm tra xem nó có chia hết cho n không. Nếu chúng tôi tìm thấy bất kỳ số nào khác chia, hãy in giá trị đó

Tìm hiểu khóa đào tạo Python của chúng tôi tại các thành phố/quốc gia hàng đầu

Chương trình Python để kiểm tra số nguyên tố

Số nguyên tố luôn dương và nó sẽ được kiểm tra ngay từ đầu chương trình. Tại đây, bạn sẽ chia số vừa nhập cho tất cả các số để xem có ước dương nào khác ngoài 1 và chính số đó không. Nếu bất kỳ ước nào được tìm thấy thì chúng tôi hiển thị rằng “số không phải là số nguyên tố”, ngược lại chúng tôi hiển thị rằng “số là số nguyên tố”

chương trình Python

num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]

đầu ra. 13 là một số nguyên tố

Phương pháp tối ưu hóa

Có nhiều cách khác nhau để tối ưu hóa chương trình số nguyên tố trong Python

  • Thay vì kiểm tra đến n, chúng ta có thể kiểm tra đến √n vì thừa số lớn hơn của n phải là bội số của thừa số nhỏ hơn đã được kiểm tra
  • Thuật toán có thể được cải thiện hơn nữa bằng cách quan sát rằng tất cả các số nguyên tố đều có dạng 6k ± 1, ngoại trừ 2 và 3. Điều này là do tất cả các số nguyên có thể được biểu diễn dưới dạng [6k + i] đối với một số nguyên k và với i = ?1, 0, 1, 2, 3 hoặc 4; . Vì vậy, một phương pháp hiệu quả hơn là kiểm tra xem n có chia hết cho 2 hay 3 hay không, sau đó kiểm tra tất cả các số có dạng 6k ± 1

Ví dụ

def isPrime[n] :
if [n  1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0 # prime number in an interval0 # prime number in an interval1 # Python program to print all1____10
num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0 # prime number in an interval5# prime number in an interval6

# prime number in an interval7# prime number in an interval8

# Python program to print all5def0# prime number in an interval6

# prime number in an interval7__# Python program to print all0 def4# Python program to print all2 # Python program to print all3def7def8def9prime[x, y]:0prime[x, y]:1prime[x, y]:2def8prime[x, y]:4prime[x, y]:5# prime number in an interval5prime[x, y]:7

prime[x, y]:8# Python program to print all6 # Python program to print all1    1 def4

num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0
num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0 # prime number in an interval0# prime number in an interval6

    7    8

# prime number in an interval7____60# prime number in an interval6

prime[x, y]:8prime_list3

    prime_list5 prime_list

 

prime_list7

prime_list8

num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0 def8

num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
01
num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0
num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
03

num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
04
num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0
num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
06

# Python program to print all6

num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
08_______109
num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0
num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
0 # prime number in an interval0# prime number in an interval6

    ______115def7

num = 13
if num > 1:
for i in range[2, num//2]:
if [num % i] == 0:
print[num, "is not a prime number"]
break
else:
print[num, "is a prime number"]
else:
print[num, "is not a prime number"]
17prime[x, y]:4

def0# prime number in an interval6

    ______115def7    4    5

đầu ra.  

The prime numbers in this range are: [2,3,5]

Thời gian phức tạp. O[N2], trong đó N là kích thước của phạm vi

Không gian phụ trợ. O[N], vì N dung lượng thừa đã được sử dụng

Giải pháp trên có thể được tối ưu hóa bằng Sàng của Eratosthenes. Vui lòng xem in các số nguyên tố trong một dãy để biết chi tiết.  

Chủ Đề