Hướng dẫn how do i print only prime numbers in python? - làm cách nào để chỉ in các số nguyên tố trong python?

Một số nguyên dương lớn hơn 1 không có yếu tố nào khác ngoại trừ 1 và bản thân số được gọi là số nguyên tố.

2, 3, 5, 7, vv là số nguyên tố vì chúng không có bất kỳ yếu tố nào khác. Nhưng 6 không phải là nguyên tố (nó là tổng hợp) kể từ, 2 x 3 = 6.

Mã nguồn

# Python program to display all the prime numbers within an interval lower = 900 upper = 1000 print("Prime numbers between", lower, "and", upper, "are:") for num in range(lower, upper + 1): # all prime numbers are greater than 1 if num > 1: for i in range(2, num): if (num % i) == 0: break else: print(num)

Đầu ra

Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997

Ở đây, chúng tôi lưu trữ khoảng thời gian dưới mức thấp hơn cho khoảng dưới và trên cho khoảng trên và tìm số nguyên tố trong phạm vi đó. Truy cập trang này để tìm hiểu làm thế nào để kiểm tra xem một số có chính hay không.

Đây là phiên bản đơn giản và trực quan để kiểm tra xem đó có phải là nguyên tố trong chức năng đệ quy không! :) (Tôi đã làm nó như một bài tập về nhà cho một lớp MIT) trong Python, nó chạy rất nhanh cho đến năm 1900. Nếu bạn thử hơn 1900, bạn sẽ gặp một lỗi thú vị :) (bạn có muốn kiểm tra xem có bao nhiêu số của bạn Máy tính có thể quản lý?)

def is_prime(n, div=2): if div> n/2.0: return True if n% div == 0: return False else: div+=1 return is_prime(n,div) #The program: until = 1000 for i in range(until): if is_prime(i): print i

Tất nhiên ... nếu bạn thích các hàm đệ quy, mã nhỏ này có thể được nâng cấp với một từ điển để tăng hiệu suất nghiêm trọng và tránh lỗi buồn cười đó. Đây là bản nâng cấp cấp 1 đơn giản với tích hợp bộ nhớ:

import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it"

Dưới đây là Resuls, nơi tôi đã in 100 số nguyên tố cuối cùng được tìm thấy.

Thời gian và ngày: 2013-10-15 13: 32: 11.674448

Có 9594 số nguyên tố, cho đến 100000

[99991, 99989, 99971, 99961, 99929, 99923, 99907, 99901, 99881, 99877, 99871, 99859, 99839, 99833, 99829, 99823, 99817, 99809, 99793, 99787, 99767, 99761, 99733, 99721, 99719 , 99713, 99709, 99707, 99689, 99679, 99667, 99661, 99643, 99623, 99611, 99607 , 99409, 99401, 99397, 99391, 99377, 99371, 99367, 99349, 99347, 99317, 99289, 99277, 99259, 99257, 99251, 99241, 99233, 99223, 99191, 99181, 99173, 99149, 99139, 99137, 99133 , 99131, 99119, 99109, 99103, 99089, 99083, 99079, 99053, 99041, 99023, 99017 ] ...

Nó đã mất máy tính của bạn 0: 00: 40.871083 để tính toán nó

Vì vậy, phải mất 40 giây để máy tính xách tay i7 của tôi tính toán nó. :)

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luậnA prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself. The first few prime numbers are {2, 3, 5, 7, 11, ….}.

    Cho hai số nguyên dương bắt đầu và kết thúc. Nhiệm vụ là viết một chương trình Python để in tất cả các số nguyên tố trong một khoảng thời gian.

    Định nghĩa: Một số nguyên tố là một số tự nhiên lớn hơn 1 không có các ước số dương ngoài 1 và chính nó. Một vài số nguyên tố đầu tiên là {2, 3, 5, 7, 11, phạm.}. 

    Python3

    def prime(x, y):

        prime_list ____10 Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 1

        Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 3 Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 4Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 5 Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 6Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 7

    Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 8______19

    import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 0import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 1

    Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 8import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 3def is_prime(n, div=2): if div> n/2.0: return True if n% div == 0: return False else: div+=1 return is_prime(n,div) #The program: until = 1000 for i in range(until): if is_prime(i): print i 9

    import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 0Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 3 import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 7Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 5 Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 6The prime numbers in this range are: [2,3,5]0The prime numbers in this range are: [2,3,5]1The prime numbers in this range are: [2,3,5]2The prime numbers in this range are: [2,3,5]3The prime numbers in this range are: [2,3,5]4445454

    2 x 3 = 61Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 9 Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 42 x 3 = 64 import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 7______10

    def0def1

    import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 0import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 3def is_prime(n, div=2): if div> n/2.0: return True if n% div == 0: return False else: div+=1 return is_prime(n,div) #The program: until = 1000 for i in range(until): if is_prime(i): print i 9

    2 x 3 = 61def6

        def8 def9

    prime(x, y):0Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 0 The prime numbers in this range are: [2,3,5]1

    prime(x, y):3Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 0 prime(x, y):5

    prime(x, y):6Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 0 prime(x, y):8

    Prime numbers between 900 and 1000 are: 907 911 919 929 937 941 947 953 967 971 977 983 991 997 9     0    1____101010 def is_prime(n, div=2): if div> n/2.0: return True if n% div == 0: return False else: div+=1 return is_prime(n,div) #The program: until = 1000 for i in range(until): if is_prime(i): print i 3def is_prime(n, div=2): if div> n/2.0: return True if n% div == 0: return False else: div+=1 return is_prime(n,div) #The program: until = 1000 for i in range(until): if is_prime(i): print i 9

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

    import datetime def is_prime(n, div=2): global primelist if div> n/2.0: return True if div < primelist[0]: div = primelist[0] for x in primelist: if x ==0 or x==1: continue if n % x == 0: return False if n% div == 0: return False else: div+=1 return is_prime(n,div) now = datetime.datetime.now() print 'time and date:',now until = 100000 primelist=[] for i in range(until): if is_prime(i): primelist.insert(0,i) print "There are", len(primelist),"prime numbers, until", until print primelist[0:100], "..." finish = datetime.datetime.now() print "It took your computer", finish - now , " to calculate it" 3def is_prime(n, div=2): if div> n/2.0: return True if n% div == 0: return False else: div+=1 return is_prime(n,div) #The program: until = 1000 for i in range(until): if is_prime(i): print i 9

            7The prime numbers in this range are: [2,3,5]0prime_list 6prime_list 7

    Output: 

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

    Độ phức tạp về thời gian: O (N2), trong đó n là kích thước của phạm vi.O(N2), where N is the size of the range.

    Không gian phụ trợ: O (n), vì N không gian thêm đã được thực hiện.O(N), since N extra space has been taken.

    Giải pháp trên có thể được tối ưu hóa bằng cách sử dụng sàng của eratosthenes.Vui lòng xem các số Prime in trong một phạm vi để biết chi tiết. & NBSP;

    Chủ đề