Hướng dẫn find prime numbers in array python - tìm số nguyên tố trong mảng python

Đầu tiên chúng ta cần biết số nguyên tố là gì.

Một số nguyên tố luôn luôn là một số nguyên dương và chia hết cho chính xác 2 số nguyên [1 và chính số], 1 không phải là số nguyên tố.

Bây giờ chúng ta sẽ thảo luận về một số phương pháp để tìm số nguyên tố.

Method1

Sử dụng cho các vòng lặp

Thí dụ

def primemethod1[number]:
   # Initialize a list
   my_primes = []
   for pr in range[2, number]:
      isPrime = True
   for i in range[2, pr]:
   if pr % i == 0:
      isPrime = False
   if isPrime:
      my_primes.append[pr]
   print[my_primes]
primemethod1[50]

Đầu ra

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

Method2

Cho các vòng lặp với giờ nghỉ

Thí dụ

def primemethod2[number]:
   # Initialize a list
   my_primes = []
   for pr in range[2, number + 1]:
      isPrime = True
   for num in range[2, pr]:
   if pr % num == 0:
      isPrime = False
   break
      if isPrime:
   my_primes.append[pr]
return[my_primes]
print[primemethod2[50]]

Đầu ra

Cho các vòng lặp với giờ nghỉ

Method3

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

Thí dụ

def primemethod3[number]:
   # Initialize a list
   primes = []
   for pr in range[2, number]:
      isPrime = True
   for num in range[2, int[pr ** 0.5] + 1]:
   if pr % num == 0:
      isPrime = False
      break
   if [isPrime]:
print["Prime number: ",pr]
primemethod3[50]

Đầu ra

Prime number: 2
Prime number: 3
Prime number: 5
Prime number: 7
Prime number: 11
Prime number: 13
Prime number: 17
Prime number: 19
Prime number: 23
Prime number: 29
Prime number: 31
Prime number: 37
Prime number: 41
Prime number: 43
Prime number: 47

Cho các vòng lặp với giờ nghỉ

  • [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
  • Cho vòng lặp, phá vỡ và căn bậc hai
  • Cập nhật vào ngày 26 tháng 6 năm 2020 12:31:53
  • Câu hỏi và câu trả lời liên quan
  • Các phương pháp khác nhau để tìm số nguyên tố trong chương trình Python
  • Các phương pháp khác nhau để tìm số nguyên tố trong java
  • Phân tích các phương pháp khác nhau để tìm số nguyên tố trong Python
  • Phân tích các phương pháp khác nhau để tìm số nguyên tố trong chương trình Python
  • Các phương pháp khác nhau để tìm số nguyên tố trong C#
  • Phương pháp Java để kiểm tra Prime và tìm Prime tiếp theo
  • Chương trình Python để tìm xem một số là nguyên tố hay không sử dụng đệ quy
  • Chương trình Python để kiểm tra số nguyên tố
  • Chương trình tìm số lượng gcd mỗi chuỗi khác nhau trong Python
  • Chương trình Python để tìm hệ số chính lớn nhất của một số
  • Các phương thức chuyển đổi dữ liệu khác nhau trong Python là gì?
  • 5 phương pháp khác nhau để tìm độ dài của chuỗi trong C ++?

Các số nguyên tố từ 1 đến 100 là: 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. Tại sao 1 không phải là số nguyên tố? 1 không phải là số nguyên tố vì nó chỉ có một yếu tố, cụ thể là 1.

checkMe = range[1, 100]

dividers = []
primes = []

for y in checkMe:
    x = y
    for x in range[2, x]:
        if [y/x].is_integer[]:
            dividers.append[x]
    if len[dividers] < 2:
        primes.append[y]

print["\n"+str[checkMe]+" has "+str[len[primes]]+" primes"]
print[primes]

Output:

range[1, 100] has 5 primes
[1, 2, 3, 4, 5]

Tôi đang cố gắng in tất cả các số nguyên tố trong một mảng có tên là 'CheckMe'. Nhưng tôi không thể làm cho nó hoạt động. Tôi đã thực hiện một chương trình kiểm tra nó cho một số nhưng nó không hoạt động cho một mảng. Nếu có ai biết điều gì là sai trên xin vui lòng cho tôi biết. BTW: Tôi là một Noob lớn trong Python nên nó có lẽ không phải là mã đẹp nhất.

range[1, 100] has 25 primes
[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]

Các số nguyên tố từ 1 đến 100 là: 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. Tại sao 1 không phải là số nguyên tố? 1 không phải là số nguyên tố vì nó chỉ có một yếu tố, cụ thể là 1.✎ Update October-16-2020

@AMAJI✎ & NBSP; Cập nhật tháng 10-16-2020

Dưới đây là một đoạn mã cho một chương trình đếm các số nguyên tố trong phạm vi bạn chỉ định trong Python.

Khi bạn muốn đếm các số nguyên tố như trong hình ảnh, hoặc khi bạn muốn đếm số nguyên tố để bình tĩnh lại, bạn sẽ muốn đảm bảo các số nguyên tố là chính xác [?].

Đây là một mã được định dạng mà tôi đã viết trong khi giải một câu đố nhỏ [CTF].

Tôi đã viết nó dưới dạng có thể tái sử dụng như một chức năng, vì vậy hãy thoải mái sửa đổi nó nếu bạn muốn.

Tôi không sử dụng bất kỳ thư viện nào như Numpy trong Python.

  • Môi trường được thử nghiệm

Python 2.7.15、3.8.5

Mã số

get_primelist là một hàm đếm số nguyên tố từ 2 đến trên.

get_primelist.py

def get_primelist[upper]:
	result = []
	for cp in range [ 2, upper + 1 ]:
		for i in range [ 2, cp ]:
			if [ cp % i == 0 ]:
				break
		else:
			result.append[cp]
	return result

# RUN to create an array of the prime numbers
# [ 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 ]
print [get_primelist[100]]

Nó trả về một mảng các số nguyên tố từ 2 trở lên.

Ngay cả với một chương trình rất đơn giản, bạn có thể nhanh chóng tính toán phạm vi từ 2 đến 100.000, vì vậy nếu bạn không muốn tốc độ, bạn không phải điều chỉnh nó khó như bạn muốn.

Bảng sau đây cho thấy thời gian ước tính cho phép tính trong một thời gian thực tế.

Trên Linux, đây là thời gian để hiển thị kết quả của lệnh

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
0.

Chiều rộng của số nguyên tố để tính toánThời gian [trung bình 3 lần chạy]
1 ~ 1000,03 giây
1 ~ 1.0000,03 giây
1 ~ 1.0001 ~ 10.000
0,29 giây1 ~ 100.000

22,55 giây

  • Môi trường đo lường
  • Python: Python3.8.2
  • HĐH: Ubuntu 20.04 LTE @ Windows10 Home x64 WSL2
  • Bộ xử lý: Intel [R] Core [TM] I7-8565U CPU @ 1.80GHz

RAM: 8,00 GB

Tôi nghĩ rằng bạn có thể nhận được các số nguyên tố đầy đủ và nhanh hơn nếu bạn sử dụng thư viện toán học phù hợp hoặc một cái gì đó. Tôi có thể thêm các bài viết bằng thư viện trong tương lai.

Bản ghi nhớ tăng tốc

Tôi muốn thêm một phiên bản được cải thiện một chút, như sàng lọc eratosthenes và cành cắt, nếu tôi có thời gian.

Kết thúc.

  • Người giới thiệu
  • PEP8 - Hướng dẫn kiểu cho mã Python
  • Wikipedia - rây eratosthenes

MIT - Khóa học mở: Định lý số nguyên tố

  • Cập nhật

Làm thế nào để bạn tìm thấy số nguyên tố của một mảng?

Chúng tôi lấy một mảng số nguyên ARR [] chứa các số ngẫu nhiên. Chức năng kiểm tra [int num] kiểm tra xem số số được truyền có phải là số nguyên tố hay không. Nếu nó là số nguyên tố, nó sẽ trả về 1 khác, nó sẽ trả về 0. Nếu num làFunction checkPrime[int num] checks if the passed number num is prime or not. If it is prime, it returns 1 else it returns 0. If the num is

Chủ Đề