Giả sử chúng ta có giới hạn n. Chúng ta phải đếm số lượng số nguyên tố có trong phạm vi 2 đến n. Vì vậy, nếu n = 10, kết quả sẽ là 4. Vì có bốn số nguyên tố trước 10, chúng là 2, 3, 5, 7.
Để giải quyết vấn đề này, chúng tôi sẽ tuân theo phương pháp này -
- Đếm = 0
- Lấy một mảng nguyên tố = của kích thước n + 1 và điền nó bằng sai
- cho i = 0 đến n, làm
- Nếu nguyên tố [i] = sai, thì
- Tăng số lượng lên 1
- Đặt J = 2
- Trong khi J * tôi
- Prime [i * j] = true
- J = J + 1
- Nếu nguyên tố [i] = sai, thì
- Số lượng trả lại
Thí dụ
Hãy cho chúng tôi xem triển khai sau đây để hiểu rõ hơn -
& nbsp; bản demo trực tiếp
class Solution[object]: def countPrimes[self, n]: """ :type n: int :rtype: int """ count = 0 primes = [False for i in range[n+1]] for i in range[2,n]: if primes[i] == False: count+=1 j = 2 while j*i = K in C++
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 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 ____1010 để 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
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
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 //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