Hướng dẫn sum of prime numbers from 1 to 1000 in python - tổng các số nguyên tố từ 1 đến 1000 trong python

-4

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đã viết một chương trình đếm tổng số của PRIME UPTILL 1000. Chương trình như sau:

limit = 1000

def is_prime(n):
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

sum = 0
for i in range(2, int(limit+1)):
    if is_prime(i):
        sum = sum + i
        count += 1
print sum

Tôi có thể thực hiện những thay đổi nào để tìm 1000 số nguyên tố thay vì tối đa 1000 số? Ngoài ra, tôi đang tìm kiếm sự phức tạp không gian là O (1) và độ phức tạp về thời gian như O (N) (như tôi biết các phương pháp khác có thể làm điều đó :-) chẳng hạn như "Sây eratosthenes" và tìm kiếm nguyên tố trong khi lặp lại SQRT (n) http:

Xin hãy sửa cho tôi nếu tôi đi sai một số ở đâu. Cảm ơn bạn.

Hỏi ngày 14 tháng 4 năm 2015 lúc 1:26Apr 14, 2015 at 1:26

Hướng dẫn sum of prime numbers from 1 to 1000 in python - tổng các số nguyên tố từ 1 đến 1000 trong python

Deepdeepdeep

6664 Huy hiệu vàng16 Huy hiệu bạc33 Huy hiệu Đồng4 gold badges16 silver badges33 bronze badges

13

Chỉ là một cải tiến nhỏ dựa trên mã của bạn để tìm các số nguyên tố

limit = 1000

def is_prime(n):
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

sum = 0
num = 2
for i in xrange(limit):
    while not is_prime(num):
        num += 1
    sum += num
    num += 1 # sorry, miss this
print sum
2 thay vì các số
limit = 1000

def is_prime(n):
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

sum = 0
num = 2
for i in xrange(limit):
    while not is_prime(num):
        num += 1
    sum += num
    num += 1 # sorry, miss this
print sum
2.

limit = 1000

def is_prime(n):
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

sum = 0
num = 2
for i in xrange(limit):
    while not is_prime(num):
        num += 1
    sum += num
    num += 1 # sorry, miss this
print sum

Và bạn cũng có thể sử dụng một vòng lặp duy nhất khi tìm kiếm một số thứ bạn quan tâm nhất định, nó có thể chỉ là vấn đề của hương vị.

limit = 1000

def is_prime(n):
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

sum = 0
count = 0
num = 2
while count != limit:
    if is_prime(num):
        sum += num
        count += 1
    num += 1

print sum

Đã trả lời ngày 14 tháng 4 năm 2015 lúc 2:17Apr 14, 2015 at 2:17

Zhangwtzhangwtzhangwt

3481 Huy hiệu vàng2 Huy hiệu bạc12 Huy hiệu đồng1 gold badge2 silver badges12 bronze badges

3

Mã số:

def f():
    i = 2
    while True:
        if all(i % x != 0 for x in range(2, i-1)):
            yield i
        i += 1

primes = f()
print sum(primes.next() for _ in range(1000))

Hoặc một lớp lót:

import itertools
print sum(itertools.islice(itertools.ifilter(lambda x: all(x % i != 0 for i in range(2, x)), f()), 0, 1000))

Đã trả lời ngày 14 tháng 4 năm 2015 lúc 1:42Apr 14, 2015 at 1:42

0

Tôi muốn đề xuất thuật toán sau (sàng của Eratosthenes)

n=1000
limit_sieve = 10000
primes = set()
notPrimes = set()
i = 2
while len(primes)

Đã trả lời ngày 14 tháng 4 năm 2015 lúc 8:01Apr 14, 2015 at 8:01

Hướng dẫn sum of prime numbers from 1 to 1000 in python - tổng các số nguyên tố từ 1 đến 1000 trong python

2

Cách đơn giản nhất để làm những gì bạn yêu cầu có lẽ là với

limit = 1000

def is_prime(n):
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

sum = 0
num = 2
for i in xrange(limit):
    while not is_prime(num):
        num += 1
    sum += num
    num += 1 # sorry, miss this
print sum
4.

def gen_primes():
    for i in itertools.count(2):
        if is_prime(i):
            yield i 

first_one_thousand = list(itertools.islice(gen_primes(), 1000))

Bắn, mọi người đều thích một lớp lót:

first_one_thousand = list(itertools.islice((i for i in itertools.count(2) 
                                            if is_prime(i)), 
                                           1000))

Đã trả lời ngày 14 tháng 4 năm 2015 lúc 1:35Apr 14, 2015 at 1:35

Jwilnerjwilnerjwilner

6.0206 Huy hiệu vàng32 Huy hiệu bạc46 Huy hiệu đồng6 gold badges32 silver badges46 bronze badges

Tổng quan

Số nguyên tố là số tự nhiên chỉ chia hết cho một và chính số. Nói cách khác, các số nguyên tố là số nguyên dương lớn hơn 1 với chính xác hai yếu tố, một và chính số. Một số số nguyên tố bao gồm 2, 3, 5, 7, 11, 13, v.v. và tổng số nguyên tố biểu thị tổng số của tất cả các số nguyên tố nhỏ hơn hoặc bằng với đầu vào đã cho. are natural numbers that are divisible by only one and the number itself. In other words, prime numbers are positive integers greater than 1 with exactly two factors, one and the number itself. Some prime numbers include 2, 3, 5, 7, 11, 13, etc. And the sum of prime numbers denotes the summation of all the prime numbers less than or equal to the given input.

Phạm vi

  • Mô-đun giả định người đọc được thành thạo trong những điều cơ bản của Python.Basics of Python.
  • Người dùng của hướng dẫn này cũng nên thông qua chương trình Số nguyên tố mô -đun trong Python trước khi bắt đầu mã cho tổng số nguyên tố trong Python.
  • Hai cách tiếp cận được đề cập bao gồm cách tiếp cận đơn giản và hiệu quả nhất, sàng của phương pháp Eratosthenes.Sieve of Eratosthenes approach.
  • Một ý tưởng công bằng về số nguyên tố là gì và làm thế nào chúng ta có thể tìm thấy số nguyên tố trong Python được giải thích ngắn gọn. Để hiểu chuyên sâu, người dùng được khuyên nên trải qua chương trình số nguyên tố trong Python

Giới thiệu

Trước khi bắt đầu với thuật toán nơi chúng ta sẽ hiểu cách tìm tổng của tất cả các số nguyên tố từ 1 đến N, trước tiên chúng ta nên hiểu ngắn gọn số nguyên tố là gì.1 to n, we should first briefly understand what prime numbers are.

Một số nguyên tố có thể được định nghĩa là một số nguyên dương lớn hơn 1 và chỉ chia hết cho hai số, 1 và chính nó.1 and only divisible by two numbers, 1 and itself.

Để tìm các số nguyên tố với Python, vui lòng xem qua chương trình số nguyên tố trong Python vì điều này bao gồm mức độ cơ bản đến nâng cao về cách chúng ta có thể tìm thấy số nguyên tố trong Python cùng với một vài chương trình tối ưu hóa mã đó.

Sau khi bạn đã trải qua bài viết trên, chúng ta hãy thảo luận về thuật toán chúng ta sẽ làm theo để tìm tổng số số nguyên tố trong Python.

Bước 1: Vì chúng tôi đang tìm kiếm tổng số số nguyên tố lên đến n, trước tiên chúng tôi cần lặp qua từng số lên đến số đã cho. Bước 2: Sau đó, chúng tôi kiểm tra xem số đã cho là số nguyên tố hay không. Chúng ta có thể thêm và lưu trữ nó trong một biến tạm thời nếu đó là số nguyên tố. Bước 3: Bây giờ, khi vòng lặp bên ngoài được hoàn thành, chúng ta có thể nhận được tổng số số nguyên tố bằng cách in biến tạm thời. As we are looking to find the sum of prime numbers up to N, we first need to iterate through each number up to the given number. Step2: Then, we check if the given number is a prime or not. We can add and store it in a temporary variable if it is a prime number. Step3: Now, as the outer loop is completed, we can get the sum of primes by printing the temporary variable.

Như đã giải thích ở trên, bây giờ chúng ta có thể chuyển sang hiểu chương trình để tìm tổng số số nguyên tố trong Python như dưới đây. Chúng tôi bao gồm hai cách tiếp cận cụ thể: cách tiếp cận đơn giản và sàng của phương pháp Eratosthenes. Cả hai cách tiếp cận đều dễ hiểu, sự khác biệt duy nhất là sàng của phương pháp Eratosthenes hiệu quả hơn.Sieve of Eratosthenes approach is more efficient.

Chương trình Python để tìm tổng của tất cả các số nguyên tố trong khoảng từ 1 đến n.

Hãy để chúng tôi hiểu cách tiếp cận đơn giản để tìm tổng số số nguyên tố trong Python.

Chúng tôi đi qua tất cả các số từ 1 đến N trong phương pháp này. Sau đó, chúng tôi kiểm tra mọi số để xem nó có phải là một chính không. Nếu số là số nguyên tố, chúng tôi thêm nó vào đầu ra.1 to n in this approach. Then, we check every number to see if it is a prime. If the number is prime, we add it to the output.

Đó là một cách tiếp cận rất cơ bản và dễ dàng hơn để giải quyết tuyên bố vấn đề của chúng tôi.

Code:

# Start by taking an input of the number from the user

last_number = int(input("\nPlease enter the last number up till which sum of prime number is to be found:"))
print ("We will find the sum of prime numbers in python upto", last_number)
sum = 0
# Initializing the sum to 0
for number in range(2, Last_number + 1):
# Using for loop starting from 2 as it is the first prime number.
    i = 2
    for i in range(2, number):
        if (int(number % i) == 0):
            i = number
            break;
#Only if the number is a prime number, continue to add it.
    if i is not number:
        sum = sum + number
print("\nThe sum of prime numbers in python from 1 to ", Last_number, " is :", sum)

Output:

Please enter the last number up till which sum of prime number is to be found: 60
We will find the sum of prime numbers in python upto 60 
The sum of prime numbers in python from 1 to 60 is : 438

Explanation:

Ở đây chúng tôi bắt đầu với đầu vào từ người dùng, nơi chúng tôi lấy số cho đến khi tổng số nguyên tố trong Python cần được biết. Sau đó, chúng tôi sử dụng cho vòng lặp trong Python để lặp lại cho mỗi số bắt đầu từ 2. Như đã biết, số nguyên tố đầu tiên là 2, vì vậy chúng tôi đã bắt đầu vòng lặp với nó.2. As known, the first prime number is 2, so we started the for loop with it.

Bây giờ, chúng tôi lặp lại từng số để kiểm tra xem đó có phải là số nguyên tố hay không. Chúng tôi làm như vậy bằng cách đánh giá nó và phân tích phần còn lại không bằng 0. Sau đó, chúng tôi lấy số đó và tiếp tục thêm vào các số nguyên tố được thêm vào trước đó.

Cuối cùng, chúng tôi in tổng của tất cả các số nguyên tố cho đến số cuối cùng dưới dạng đầu vào của người dùng.

Chương trình Python để tìm tổng của tất cả các số nguyên tố từ 1 đến N

Hãy để chúng tôi hiểu được sàng của Eratosthenes để tìm tổng số số nguyên tố trong Python. Mây của eratosthenesis được cho là một phương pháp hiệu quả để tính tổng số số nguyên tố trong python. Trong phương pháp này, chúng tôi tìm thấy tất cả các số nguyên tố cho đến số cuối cùng. Khi chúng tôi có tất cả các số nguyên tố, chúng tôi tìm thấy việc bổ sung chúng.Sieve of Eratosthenes approach to finding the sum of prime numbers in python. The Sieve of Eratosthenesis said to be an efficient method to calculate the sum of prime numbers in python. In this approach, we find all the prime numbers until the last number. Once we have all the prime numbers, we find the addition of them.

Bây giờ, hãy cho chúng tôi hiểu thuật toán để xem làm thế nào để tìm tất cả các số nguyên tố nhỏ hơn hoặc bằng một số nguyên nhất định n bằng cách sàng của phương pháp eratosthenes. Điều quan trọng cần lưu ý là một khi thuật toán chấm dứt, tất cả các số không được đánh dấu trong danh sách là số nguyên tố.n by the Sieve of Eratosthenes method. It is important to note that once the algorithm terminates, all the numbers not marked in the list are prime numbers.

Giải thích: Hãy xem xét một ví dụ trong đó n = 40. Bây giờ chúng ta cần in tất cả các số nguyên tố nhỏ hơn hoặc bằng 40. Đối với cùng, chúng ta tạo một danh sách tất cả các số từ 2 đến 40, như được thấy dưới đây. Consider an example where n = 40. Now we need to print all the prime numbers that are smaller than or equal to 40. For the same, we create a list of all the numbers from 2 to 40, as seen below.

Hướng dẫn sum of prime numbers from 1 to 1000 in python - tổng các số nguyên tố từ 1 đến 1000 trong python

Như được mô tả ở trên trong thuật toán, bây giờ chúng ta sẽ đánh dấu tất cả các số chia hết cho 2. Chúng ta bắt đầu đánh dấu tất cả các số là bội số của 2. Ngoài ra, các số này cần phải lớn hơn hoặc bằng với bình phương của nó, vì Nhìn dưới đây.2. We start marking all the numbers that are multiples of 2. Also, these numbers need to be greater than or equal to the square of it, as seen below.

Hướng dẫn sum of prime numbers from 1 to 1000 in python - tổng các số nguyên tố từ 1 đến 1000 trong python

Chúng tôi thấy rằng có nhiều số không được đánh dấu. Bây giờ chúng tôi chuyển sang số không được đánh dấu tiếp theo, 3. Chúng tôi bắt đầu đánh dấu tất cả các số là bội số của 3. Ngoài ra, các số này cần phải lớn hơn hoặc bằng với bình phương của nó, như được thấy dưới đây.3. We start marking all the numbers that are multiples of 3. Also, these numbers need to be greater than or equal to the square of it, as seen below.

Hướng dẫn sum of prime numbers from 1 to 1000 in python - tổng các số nguyên tố từ 1 đến 1000 trong python

Chúng tôi lặp lại quá trình tương tự. Bây giờ chúng ta chuyển sang số không được đánh dấu tiếp theo, nghĩa là 5. Chúng ta bắt đầu đánh dấu tất cả các số là bội số của 5. Ngoài ra, những con số này cần phải lớn hơn hoặc bằng bình phương của nó, như được thấy dưới đây.5. We start marking all the numbers that are multiples of 5. Also, these numbers need to be greater than or equal to the square of it, as seen below.

Hướng dẫn sum of prime numbers from 1 to 1000 in python - tổng các số nguyên tố từ 1 đến 1000 trong python

Chúng tôi tiếp tục quá trình tương tự và bảng cuối cùng sẽ trông như thế này như đã thấy dưới đây:

Hướng dẫn sum of prime numbers from 1 to 1000 in python - tổng các số nguyên tố từ 1 đến 1000 trong python

Các số nguyên tố không được đánh dấu là: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37.2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37.

Bây giờ, khi chúng ta hiểu cách sử dụng khái niệm sàng của Eratosthenes, chúng ta hãy đi sâu vào chương trình để tìm tổng số số nguyên tố trong Python.

Code:

limit = 1000

def is_prime(n):
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

sum = 0
num = 2
for i in xrange(limit):
    while not is_prime(num):
        num += 1
    sum += num
    num += 1 # sorry, miss this
print sum
0

Output:

limit = 1000

def is_prime(n):
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

sum = 0
num = 2
for i in xrange(limit):
    while not is_prime(num):
        num += 1
    sum += num
    num += 1 # sorry, miss this
print sum
1

Giải thích: Ở đây chúng tôi đã áp dụng cùng một logic mà chúng tôi vừa giải thích ở trên. Trước tiên, chúng tôi tạo chức năng sum_of_primes, sau đó chúng tôi kiểm tra từng số và đánh giá xem đó có phải là số nguyên tố hay không. Khi chúng tôi kiểm tra xem số có phải là số nguyên tố hay không cho tất cả các số cho đến N, sau đó chúng tôi thu thập tất cả các số nguyên tố. Bây giờ chúng tôi thêm tất cả các số nguyên tố và in đầu ra. Here we have applied the same logic we just explained above. We first create the function Sum_Of_Primes, then we check each number and evaluate if it is a prime or not. Once we check if the number is a prime number or not for all the numbers till n, we then collect all the prime numbers. Now we add all the prime numbers and print the output.

Sự kết luận

  • Để có được một ý tưởng công bằng về việc tìm kiếm số nguyên tố trong Python được giải thích trong [https://www.scaler.com/topics/prime-number-program-in-python/] và người dùng được khuyên nên đi qua nó trước tiên Trước khi bắt đầu mô -đun này.

  • Thuật toán để tìm tổng số số nguyên tố trong Python như sau:

    Bước 1: Trước tiên chúng ta cần lặp qua từng số lên đến số đã cho.Step2: Chúng tôi kiểm tra xem số đã cho có phải là số nguyên tố hay không. Nếu đó là một số nguyên tố, chúng ta có thể dễ dàng tìm thấy việc bổ sung các số và lưu trữ nó trong một biến tạm thời.Step3: Chúng ta có thể nhận được tổng của tất cả các số nguyên tố bằng cách in biến tạm thời. We first need to iterate through each number up to the given number.
    Step2: We check if the given number is a prime or not. If it is a prime number, we can easily find the addition of the numbers and store it in a temporary variable.
    Step3: We can get the sum of all primes by printing the temporary variable.

  • Cách tiếp cận đơn giản để tìm tổng số số nguyên tố trong Python. Chúng tôi đi qua tất cả các số từ 1 đến N trong phương pháp này. Sau đó, chúng tôi kiểm tra mọi số để xem nó có phải là một chính không. Nếu số là số nguyên tố, chúng tôi thêm nó vào đầu ra.1 to n in this approach. Then, we check every number to see if it is a prime. If the number is prime, we add it to the output.

  • Mây của eratosthenesis một phương pháp hiệu quả để tính tổng số số nguyên tố trong Python khi trước tiên chúng ta tìm thấy tất cả các số nguyên tố cho đến số cuối cùng. Khi chúng tôi có tất cả các số nguyên tố, chúng tôi tìm thấy việc bổ sung chúng.Sieve of Eratosthenesis an efficient method to calculate the sum of prime numbers in python as we first find all the prime numbers till the last number. Once we have all the prime numbers, we find the addition of them.

Tổng của tất cả các số nguyên tố từ 1 đến 100 là bao nhiêu?

Vì vậy, tổng của tất cả các số nguyên tố tốt trong khoảng từ 1 đến 100 là 29 + 89 = 118 29 + 89 = 118.29+89=118 29 + 89 = 118 .

Làm thế nào để bạn tổng số số nguyên tố trong Python?

Thuật toán để tìm tổng số số nguyên tố trong Python như sau:..
Bước 1: Trước tiên chúng ta cần lặp qua từng số lên đến số đã cho ..
Bước 2: Chúng tôi kiểm tra xem số đã cho là số nguyên tố hay không.....
Bước 3: Sau đó chúng ta có thể nhận được tổng của tất cả các số nguyên tố bằng cách in biến tạm thời ..

Làm thế nào để bạn in số nguyên tố từ 1 đến 100 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à:").