Hướng dẫn count primes in range in python - đếm số nguyên tố trong phạm vi trong python

Hai số toàn bộ N1 và N2 được truyền dưới dạng đầu vào. Chương trình phải in số số nguyên tố có giữa N1 và N2 (phạm vi bao gồm N1 và N2)

Định dạng đầu vào: & nbsp; dòng đầu tiên sẽ chứa giá trị của dòng thứ hai N1 thứ nhất sẽ chứa giá trị của số thứ hai N2 & NBSP; First line will contain the value of the first number N1 Second line will contain the value of the second number N2 

Định dạng đầu ra: & nbsp; dòng đầu tiên sẽ chứa số lượng số nguyên tố giữa N1 và N2 & NBSP;First line will contain the count of prime numbers between N1 and N2 

SampleInput/Output: 

Ví dụ 1: & nbsp; đầu vào: & nbsp; 6142 & nbsp; 6200Output: & nbsp; 6 & nbsp;
 Input: 
6142 
6200
Output: 

Explanation: The prime numbers within the range 6142 to 6200 are 6143, 6151, 6163, 6173, 6197, 6199

& nbsp; Ví dụ 2: & nbsp; đầu vào: & nbsp; 3870 & nbsp; đầu ra: 7 & nbsp; giải thích: & nbsp; các số nguyên tố trong phạm vi 38 đến 70 là 41, 43, 47, 53, 59, 61, 67
Example 2: 
Input: 
38
70 
Output:

Explanation: The prime numbers within the range 38 to 70 are 41, 43, 47, 53, 59, 61, 67

l,u=int(input()),int(input())
c=0
for i in range(l,u + 1):
   if  i> 1:
       for j in range(2,i):
           if (i%j) == 0:
               break
       else:
           c+=1
print(c)
import java.util.*;
public class Hello {
    public static void main(String[] args) {
  Scanner sc= new Scanner(System.in);
  int c=0,i,j;
  int l=sc.nextInt();
  int h=sc.nextInt();
  for(i=l;i<=h;i++)
  {
   for(j=2;j

Tôi đã cố gắng tìm các số nguyên tố trong một phạm vi (đầu vào sẽ được quyết định bởi người dùng) và tổng số số nguyên tố.

Tôi có thể tìm thấy các số nguyên tố nhưng không thể thực hiện một phần-tính toán các số nguyên tố. Ai giúp tôi với? Đây là chương trình

#!/usr/bin/env python
import math

lower=input("lower value:")
upper=input("upper value:")
print("prime numbers between", lower,"and", upper, "are:")
for num in range (lower, upper+1):
 if num>1:
  for i in range (2,num):
   if num % i==0:
    break
  else: print(num)
def  count_prime(num,lower,upper):
  count_prime= 0
  for x in num:
    if lower <= x <= upper:
      count_prime += 1
print ( "count_prime:",count_prime )

Đầu ra kết quả như sau (trong khoảng từ 10 đến 100)

('Số nguyên tố giữa', 10, 'và', 100, 'là:')

sa mạc

55.1K21 Huy hiệu vàng132 Huy hiệu bạc162 Huy hiệu đồng21 gold badges132 silver badges162 bronze badges

Đã hỏi ngày 10 tháng 6 năm 2018 lúc 6:52Jun 10, 2018 at 6:52

Hướng dẫn count primes in range in python - đếm số nguyên tố trong phạm vi trong python

2

Cách dễ nhất là có một biến tăng lên mỗi khi bạn tìm thấy số nguyên tố. Vì vậy, khi bạn đang in số, cũng tăng số lượng. Bạn có thể làm điều đó theo nhiều cách khác, tức là bằng cách lưu từng số nguyên tố trong một mảng sau đó đếm số phần tử, v.v.

Để làm với biến:

lower=input("lower value:")
upper=input("upper value:")
count = 0
print("prime numbers between", lower,"and", upper, "are:")
for num in range (lower, upper+1):
 if num>1:
  for i in range (2,num):
   if num % i==0:
    break
  else: 
    print(num)
    count += 1
print ( "count_prime:", count )

Để làm với mảng:

lower=input("lower value:")
upper=input("upper value:")
array = []
print("prime numbers between", lower,"and", upper, "are:")
for num in range (lower, upper+1):
 if num>1:
  for i in range (2,num):
   if num % i==0:
    break
  else: 
    print(num)
    array.append(num)
print ( "count_prime:", len(array))

Đã trả lời ngày 10 tháng 6 năm 2018 lúc 6:58Jun 10, 2018 at 6:58

4

Để đếm số số nguyên tố, bạn có thể sử dụng danh sách để lưu trữ các số nguyên tố trước và sau đó chỉ cần sử dụng len để tìm số lượng số nguyên tố. Nó khá dễ hiểu điều này:

import math
store = []
lower=int(input("lower value:"))
upper=int(input("upper value:"))
print("prime numbers between", lower,"and", upper, "are:")
for num in range (lower, upper+1):
 if num>1:
  for i in range (2,num):
   if num % i==0:
    break
  else: 
    print(num)
    store.append(num)
print("The number of prime numbers are:",len(store))

Đã trả lời ngày 10 tháng 6 năm 2018 lúc 7:10Jun 10, 2018 at 7:10

Hướng dẫn count primes in range in python - đếm số nguyên tố trong phạm vi trong python

Mahir Islammahir Hồi giáoMahir Islam

1.8612 huy hiệu vàng11 Huy hiệu bạc32 Huy hiệu đồng2 gold badges11 silver badges32 bronze badges

2

Thư viện "Sympy" sẽ hữu ích trong những tình huống này

import sympy
lower=int(input("lower value:"))          #let it be 30
upper=int(input("upper value:"))          #let it be 60
l=list(sympy.primerange(lower,upper+1))   #[31,37,41,43,47,53,59]
z=len(l)
print(z)

Đã trả lời ngày 21 tháng 8 năm 2019 lúc 13:03Aug 21, 2019 at 13:03

Hướng dẫn count primes in range in python - đếm số nguyên tố trong phạm vi trong python

Tôi đã tìm thấy một số phương thức khác để đếm số nguyên tố được tìm thấy tại https://stackoverflow.com/a/53451147/4683899. Trong ví dụ này, bạn có thể tùy chỉnh danh sách của mình.

def is_prime(n):
    if n <= 1:          # negative numbers, 0 or 1
        return False
    if n <= 3:          # 2 and 3
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False

    for i in range(5, int(math.sqrt(n)) + 1, 2):
        if n % i == 0:
            return False

    return True



ans = [i for i in input().split() if is_prime(int(i))]
print(len(ans))

hoặc nếu bạn muốn hoàn thành cùng một tác vụ trong phạm vi thì chỉ cần chỉnh sửa đầu vào (). split () thành phạm vi (dưới, trên+1)

ans = [i for i in range(lower,upper+1) if is_prime(i)]
print(len(ans))

Đã trả lời ngày 25 tháng 10 năm 2019 lúc 11:11Oct 25, 2019 at 11:11