Hướng dẫn how do you find the first 20 prime numbers in python? - Làm thế nào để bạn tìm thấy 20 số nguyên tố đầu tiên trong python?

Để tham khảo, có một sự khác biệt về tốc độ khá đáng kể giữa các giải pháp đã nêu khác nhau. Đây là một số mã so sánh. Giải pháp được chỉ ra bởi Lennart được gọi là "lịch sử", giải pháp được đề xuất bởi kiến ​​được gọi là "ngây thơ", và một của RC được gọi là "regexp".

from sys import argv
from time import time

def prime[i, primes]:
    for prime in primes:
        if not [i == prime or i % prime]:
            return False
    primes.add[i]
    return i

def historic[n]:
    primes = set[[2]]
    i, p = 2, 0
    while True:
        if prime[i, primes]:
            p += 1
            if p == n:
                return primes
        i += 1

def naive[n]:
    from itertools import count, islice
    primes = [n for n in count[2] if all[n % d for d in range[2, n]]]
    return islice[primes, 0, n]

def isPrime[n]:
    import re
    # see //tinyurl.com/3dbhjv
    return re.match[r'^1?$|^[11+?]\1+$', '1' * n] == None

def regexp[n]:
    import sys
    N = int[sys.argv[1]] # number of primes wanted [from command-line]
    M = 100              # upper-bound of search space
    l = list[]           # result list

    while len[l] < N:
        l += filter[isPrime, range[M - 100, M]] # append prime element of [M - 100, M] to l
        M += 100                                # increment upper-bound

    return l[:N] # print result list limited to N elements

def dotime[func, n]:
    print func.__name__
    start = time[]
    print sorted[list[func[n]]]
    print 'Time in seconds: ' + str[time[] - start]

if __name__ == "__main__":
    for func in naive, historic, regexp:
        dotime[func, int[argv[1]]]

Đầu ra của điều này trên máy của tôi cho n = 100 là:

naive
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541]
Time in seconds: 0.0219371318817
historic
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541]
Time in seconds: 0.00515413284302
regexp
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541]
Time in seconds: 0.0733318328857

Như bạn có thể thấy, có một sự khác biệt khá lớn. Đây là một lần nữa cho 1000 [đã bị xóa đầu ra chính]:

naive
Time in seconds: 1.49018788338
historic
Time in seconds: 0.148319005966
regexp
Time in seconds: 29.2350409031

0 như 0 không thích like 0 dislike

Lượt xem 119K views

Đã hỏi ngày 29 tháng 2 năm 2020in RGPV/UTMP B.Tech [CSE-V SEM] Chuyên gia của Python Labbyankit Yadavgoeduhub [5,8k điểm]Feb 29, 2020 in RGPV/UTMP B.Tech [CSE-V Sem] Python Lab by Ankit Yadav Goeduhub's Expert [5.8k points]

Chương trình Python để tìm số n số đầu tiên

  • rgpv-python-lab
  • utmp-python-lab
  • rajiv-gandhi-prodyogic-viswvidyalya-python-lab
  • rgpv-python-lab-experiments
  • rgpv-python-lab-experiment10

Chia sẻ với bạn bè của bạn

1 câu trả lời Answer

0 như 0 không thích like 0 dislike

Lượt xem 119KFeb 29, 2020 by Ankit Yadav Goeduhub's Expert [5.8k points]
edited Apr 27, 2020 by Ankit Yadav

Đã hỏi ngày 29 tháng 2 năm 2020in RGPV/UTMP B.Tech [CSE-V SEM] Chuyên gia của Python Labbyankit Yadavgoeduhub [5,8k điểm]

Chương trình Python để tìm số n số đầu tiên

1 câu trả lời

Đã trả lời ngày 29 tháng 2 năm 2020Byankit Yadavgoeduhub [5,8k điểm] EditedApr 27, 2020by Ankit Yadav

Câu trả lời hay nhất

Mã chương trình

numr = int [input ["enter range:"]]

print ["Số nguyên tố:", end = '']

cho n trong phạm vi [1, numr]:

& nbsp; & nbsp; Đối với tôi trong phạm vi [2, n]:        

& nbsp; & nbsp; & nbsp; & nbsp; if [n%i == 0]:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; phá vỡ
Prime numbers: 1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 

& nbsp; & nbsp; khác: Click here

Học và cải thiện các kỹ năng dữ liệu theo yêu cầu trực tuyến trong mùa hè này với & NBSP; Các khóa học chất lượng cao này [được đề xuất bởi Goeduhub]:-[Recommended by GOEDUHUB]:-

Các khóa học trực tuyến khoa học dữ liệu tốt nhất [Danh sách] trên:-

Yêu cầu thử nghiệm miễn phí 10 ngày của bạn cho Pluralsight.

Các khóa học khoa học dữ liệu tốt nhất trên DatacampDatacamp
Các khóa học khoa học dữ liệu tốt nhất về CourseraCoursera
Các khóa học khoa học dữ liệu tốt nhất về UDEMYUdemy
Các khóa học khoa học dữ liệu tốt nhất về PluralsightPluralsight
Các khóa học khoa học dữ liệu tốt nhất & microdegrees về tính UdacityUdacity
Trí tuệ nhân tạo tốt nhất [AI] các khóa học về CourseraCoursera
Các khóa học về máy học tốt nhất [ML] trên CourseraCoursera
Các khóa học lập trình Python tốt nhất về CourseraCoursera
Trí tuệ nhân tạo tốt nhất [AI]Udemy
Các khóa học lập trình Python tốt nhất về UDEMYUdemy

Chia sẻ với bạn bè của bạn

Làm thế nào để bạn in 20 số nguyên tố đầu tiên trong Python?

Ví dụ: Mã Python để in số nguyên tố giữa khoảng thời gian đã cho ...
# Đầu tiên, chúng tôi sẽ lấy đầu vào:.
Lower_Value = int [Input ["Vui lòng, nhập giá trị phạm vi thấp nhất:"]].
Upper_value = int [đầu vào ["Vui lòng, nhập giá trị phạm vi trên:"]].
In ["Các số nguyên tố trong phạm vi là:"].

Làm thế nào để bạn tìm thấy 10 số nguyên tố đầu tiên trong Python?

Algorithm..
Bước 1: Bắt đầu ..
Bước 2: Đặt CT = 0, n = 0, i = 1, j = 1 ..
Bước 3: Lặp lại bước 4 đến 12 cho đến khi n
Bước 4: J = 1 ..
Bước 5: CT = 0 ..
Bước 6: Lặp lại bước 7 đến 9 cho đến khi j
Bước 7: Nếu i%j == 0 thì ..
Bước 8: CT = CT+1 ..

Làm thế nào để bạn nhận được 20 số nguyên tố?

Hệ số chính của 20 là 2 × 2 × 5 hoặc 22 × 5.2 × 2 × 5 or 22 × 5.

Làm thế nào để bạn có được số nguyên tố đầu tiên trong Python?

Làm thế nào để bạn tìm thấy các số nguyên tố từ 1 đến 50 trong Python ?..
thấp hơn = int [đầu vào ["Nhập phạm vi thấp hơn:"]].
trên = int [input ["nhập phạm vi trên:"]].
cho num trong phạm vi [dưới, trên + 1]:.
Nếu num> 1:.
Đối với tôi trong phạm vi [2, num]:.
if [num % i] == 0:.
break..

Bài Viết Liên Quan

Chủ Đề