Claro, aquí te muestro un script de Python que utiliza la criba de Eratóstenes para encontrar todos los números primos hasta un número determinado elegido por el usuario:

```
def eratosthenes(n):
    # Creamos un array de booleanos para marcar cada número
    # como primo o no
    primes = [True] * (n+1)
    # El primer número primo es 2
    p = 2
    while p**2 <= n:
        # Si primes[p] es True, entonces p es un número primo
        if primes[p] == True:
            # Actualizamos los múltiplos de p
            for i in range(p**2, n+1, p):
                primes[i] = False
        p += 1
    # Retornamos una lista con todos los números primos encontrados
    return [p for p in range(2, n+1) if primes[p]]

# Pedimos al usuario que introduzca el número límite
n = int(input("Introduce un número límite: "))

# Ejecutamos la función eratosthenes
prime_numbers = eratosthenes(n)

# Imprimimos la lista de números primos encontrados
print("Los números primos hasta", n, "son:", prime_numbers)
```


El script funciona de la siguiente manera:

* Se define la función eratosthenes que toma como argumento un número entero n.
* Se crea un array de booleanos llamado primes de longitud n+1, inicializado en True.
* Se comienza con el primer número primo p=2 y se marca como primo todos los múltiplos de p en el array primes.
* Se continúa con el siguiente número primo y se repite el proceso hasta que p^2 > n.
* Se retorna una lista con todos los números primos encontrados en el array primes.
* Se pide al usuario que introduzca el número límite n.
* Se ejecuta la función eratosthenes y se almacena la lista de números primos en prime_numbers.
* Se imprime la lista de números primos encontrados.
แน่นอนว่า ผมจะแสดงสคริปต์ Python ที่ใช้ตะแกรง Eratosthenes เพื่อค้นหาจำนวนเฉพาะทั้งหมดจนถึงจำนวนที่ผู้ใช้เลือก: ``` def Eratosthenes(n): # เราสร้างอาร์เรย์ของ booleans เพื่อทำเครื่องหมายแต่ละตัว number # เป็นจำนวนเฉพาะหรือไม่เป็นจำนวนเฉพาะ = [True] * (n+1) # จำนวนเฉพาะตัวแรกคือ 2 p = 2 ในขณะที่ p**2 <= n: # ถ้าจำนวนเฉพาะ[p] เป็น True แล้ว p จะเป็นจำนวนเฉพาะ number ถ้าจำนวนเฉพาะ[p] == True: # เราอัปเดตผลคูณของ p สำหรับ i ในช่วง (p**2, n+1, p): primes[i] = False p += 1 # เราจะส่งคืนรายการด้วย จำนวนเฉพาะทั้งหมดที่พบจะส่งคืน [p สำหรับ p ในช่วง (2, n+1) ถ้าจำนวนเฉพาะ[p]] # เราขอให้ผู้ใช้ป้อนจำนวนจำกัด n = int(input("Enter a Limit number: ")) # เรารันฟังก์ชัน Eratosthenes prime_numbers = Eratosthenes(n) # เราพิมพ์รายการจำนวนเฉพาะที่พบ print("The prime number up to", n, "are:", prime_numbers) ``` สคริปต์ทำงานดังนี้: * ฟังก์ชัน Eratosthenes ถูกกำหนดไว้ซึ่งรับอาร์กิวเมนต์จำนวนเต็ม n * อาร์เรย์ของบูลีนที่เรียกว่าจำนวนเฉพาะของความยาว n+1 ถูกสร้างขึ้น โดยเตรียมข้อมูลเบื้องต้นให้เป็น True * เริ่มต้นด้วยจำนวนเฉพาะตัวแรก p=2 และทำเครื่องหมายผลคูณของ p ทั้งหมดในอาร์เรย์จำนวนเฉพาะว่าเป็นจำนวนเฉพาะ * ต่อด้วยจำนวนเฉพาะตัวถัดไปแล้วทำซ้ำจนกระทั่ง p^2 > n * รายการจะถูกส่งกลับพร้อมจำนวนเฉพาะทั้งหมดที่พบในอาร์เรย์จำนวนเฉพาะ * ผู้ใช้จะถูกขอให้ป้อนหมายเลขขีดจำกัด n * ฟังก์ชัน Eratosthenes ดำเนินการและรายการจำนวนเฉพาะจะถูกจัดเก็บไว้ใน prime_numbers * พิมพ์รายการหมายเลขเฉพาะที่พบ
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence