python kiểm tra số nguyên tố

gianghinguyen

New member
## Python Kiểm tra số nguyên tố

### Giới thiệu

Một số nguyên tố là một số tự nhiên lớn hơn 1 không phải là sản phẩm của hai số tự nhiên nhỏ hơn.Một số tự nhiên lớn hơn 1 không phải là số nguyên tố được gọi là số tổng hợp.Ví dụ: 2, 3, 5 và 7 là số nguyên tố, trong khi 4, 6, 8 và 9 là số tổng hợp.

### Kiểm tra tính nguyên thủy trong Python

Có nhiều cách khác nhau để kiểm tra tính nguyên thủy trong Python.Một phương pháp đơn giản là sử dụng hàm `is_prime ()` từ mô -đun `math`.Hàm này lấy một số làm đối số của nó và trả về đúng nếu số là số nguyên tố hoặc sai nếu không.

`` `Python
nhập khẩu toán học

def is_prime (n):
"" "Kiểm tra xem một số là số nguyên tố." ""

Nếu n <2:
trả lại sai

Đối với i trong phạm vi (2, int (math.sqrt (n)) + 1):
Nếu n % i == 0:
trả lại sai

trả về đúng
`` `

Một phương pháp khác để kiểm tra tính nguyên thủy là sử dụng sàng của eratosthenes.Thuật toán này hoạt động bằng cách lặp đi lặp lại tất cả các số tổng hợp nhỏ hơn hoặc bằng một số nhất định.Bước đầu tiên là tạo một danh sách tất cả các số từ 2 đến số đã cho.Sau đó, chúng tôi bắt đầu ở số đầu tiên trong danh sách (2) và đánh dấu tất cả các bội số của nó.Sau đó, chúng tôi chuyển sang số không được đánh dấu tiếp theo trong danh sách (3) và đánh dấu tất cả các bội số của nó.Chúng tôi tiếp tục quá trình này cho đến khi chúng tôi đến cuối danh sách.Các số vẫn không được đánh dấu là số nguyên tố.

`` `Python
def sieve_of_eratosthenes (n):
"" "Trả về danh sách tất cả các số nguyên tố nhỏ hơn hoặc bằng n." ""

# Tạo danh sách tất cả các số từ 2 đến n.

Số = Danh sách (Phạm vi (2, N + 1))

# Đánh dấu tất cả các số tổng hợp.

Đối với i trong phạm vi (2, int (math.sqrt (n)) + 1):
Đối với J trong phạm vi (i * i, n + 1, i):
Số [J - 2] = Sai

# Trả về danh sách các số nguyên tố.

trả về [số cho số trong số nếu số]
`` `

### ví dụ

Mã sau đây cho thấy cách sử dụng hàm `is_prime ()` để kiểm tra xem một số là số nguyên tố:

`` `Python
nhập khẩu toán học

def is_prime (n):
"" "Kiểm tra xem một số là số nguyên tố." ""

Nếu n <2:
trả lại sai

Đối với i trong phạm vi (2, int (math.sqrt (n)) + 1):
Nếu n % i == 0:
trả lại sai

trả về đúng

print (is_prime (11)) # true
in (is_prime (15)) # false
`` `

Mã sau đây cho thấy cách sử dụng sàng của Eratosthenes để tìm tất cả các số nguyên tố nhỏ hơn hoặc bằng một số đã cho:

`` `Python
def sieve_of_eratosthenes (n):
"" "Trả về danh sách tất cả các số nguyên tố nhỏ hơn hoặc bằng n." ""

# Tạo danh sách tất cả các số từ 2 đến n.

Số = Danh sách (Phạm vi (2, N + 1))

# Đánh dấu tất cả các số tổng hợp.

Đối với i trong phạm vi (2, int (math.sqrt (n)) + 1):
Đối với J trong phạm vi (i * i, n + 1, i):
Số [J - 2] = Sai

# Trả về danh sách các số nguyên tố.

trả về [số cho số trong số nếu số]

In (Sieve_of_eratosthenes (100)) # [2, 3, 5, 7, 11, 13, 17, 19, 23,
=======================================
## Python Check Prime Number

### Introduction

A prime number is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 2, 3, 5, and 7 are prime numbers, while 4, 6, 8, and 9 are composite numbers.

### Checking Primality in Python

There are many different ways to check primality in Python. One simple method is to use the `is_prime()` function from the `math` module. This function takes a number as its argument and returns True if the number is prime, or False otherwise.

```python
import math

def is_prime(n):
"""Checks if a number is prime."""

if n < 2:
return False

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

return True
```

Another method to check primality is to use the Sieve of Eratosthenes. This algorithm works by iteratively marking off all the composite numbers less than or equal to a given number. The first step is to create a list of all the numbers from 2 to the given number. Then, we start at the first number in the list (2) and mark off all of its multiples. We then move on to the next unmarked number in the list (3) and mark off all of its multiples. We continue this process until we reach the end of the list. The numbers that remain unmarked are prime numbers.

```python
def sieve_of_eratosthenes(n):
"""Returns a list of all the prime numbers less than or equal to n."""

# Create a list of all the numbers from 2 to n.

numbers = list(range(2, n + 1))

# Mark off all of the composite numbers.

for i in range(2, int(math.sqrt(n)) + 1):
for j in range(i * i, n + 1, i):
numbers[j - 2] = False

# Return the list of prime numbers.

return [number for number in numbers if number]
```

### Examples

The following code shows how to use the `is_prime()` function to check if a number is prime:

```python
import math

def is_prime(n):
"""Checks if a number is prime."""

if n < 2:
return False

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

return True

print(is_prime(11)) # True
print(is_prime(15)) # False
```

The following code shows how to use the Sieve of Eratosthenes to find all the prime numbers less than or equal to a given number:

```python
def sieve_of_eratosthenes(n):
"""Returns a list of all the prime numbers less than or equal to n."""

# Create a list of all the numbers from 2 to n.

numbers = list(range(2, n + 1))

# Mark off all of the composite numbers.

for i in range(2, int(math.sqrt(n)) + 1):
for j in range(i * i, n + 1, i):
numbers[j - 2] = False

# Return the list of prime numbers.

return [number for number in numbers if number]

print(sieve_of_eratosthenes(100)) # [2, 3, 5, 7, 11, 13, 17, 19, 23,
 
Join ToolsKiemTrieuDoGroup
Back
Top
AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

I've Disabled AdBlock