# หาจำนวนเฉพาะ

> แสดงจำนวนเฉพาะทั้งหมดในช่วงที่กำหนด หรือสุ่มเลือกจำนวนเฉพาะ N ตัว ใช้วิธีตะแกรงของเอราทอสเทนีสเพื่อการคำนวณทันทีในเบราว์เซอร์ – ไม่ต้องพึ่งเซิร์ฟเวอร์ ไม่ต้องรอ

URL: https://acrafto.com/th/prime-number-generator/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

## จำนวนเฉพาะคืออะไร?

**จำนวนเฉพาะ** คือจำนวนธรรมชาติที่มากกว่า 1 ซึ่งหารลงตัวด้วย 1 และตัวมันเองเท่านั้น จำนวนเฉพาะที่น้อยที่สุดคือ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… เลข 2 เป็นจำนวนเฉพาะคู่เพียงตัวเดียว – จำนวนคู่ที่เหลือทั้งหมดหารด้วยสองลงตัว

ตัวเลขเช่น 4 (= 2 × 2), 6 (= 2 × 3) หรือ 15 (= 3 × 5) **ไม่ใช่** จำนวนเฉพาะ – เราเรียกว่าจำนวนประกอบ

## เครื่องกำเนิดนี้ทำงานอย่างไร?

สำหรับการแสดงจำนวนเฉพาะทั้งหมดในช่วง เราใช้ **ตะแกรงของเอราทอสเทนีส (Sieve of Eratosthenes)** ซึ่งเป็นหนึ่งในอัลกอริทึมที่เก่าแก่และมีประสิทธิภาพที่สุด อธิบายโดยนักคณิตศาสตร์ชาวกรีก Eratosthenes แห่ง Cyrene ประมาณ 240 ปีก่อนคริสตกาล

อัลกอริทึมจะค่อยๆ ขีดฆ่าพหุคูณของจำนวนเฉพาะที่พบแต่ละตัว สิ่งที่เหลืออยู่คือจำนวนเฉพาะ การคำนวณทั้งหมดจะเกิดขึ้น **โดยตรงในเบราว์เซอร์ของคุณ** – ไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์

สำหรับการเลือกแบบสุ่ม เครื่องกำเนิดจะสร้างรายการจำนวนเฉพาะทั้งหมดในช่วงก่อน จากนั้นจะสุ่มเลือกจำนวนที่ต้องการโดยใช้เครื่องกำเนิดที่ปลอดภัยทางคณิตศาสตร์ (`crypto.getRandomValues()`)

## คุณสมบัติของเครื่องกำเนิด

- **จำนวนเฉพาะทั้งหมด** – แสดงจำนวนเฉพาะทุกตัวในช่วงที่กำหนด (สูงสุด 10,000)
- **การเลือกแบบสุ่ม** – เลือกจำนวนเฉพาะ N ตัวแบบสุ่มจากช่วง (เหมาะสำหรับช่วงขนาดใหญ่)
- **การเรียงลำดับ** – จัดเรียงผลลัพธ์จากน้อยไปมาก
- **ตัวคั่น** – เลือกวิธีที่ตัวเลขจะถูกคั่นเมื่อคัดลอก
- **การตั้งค่าล่วงหน้าด่วน** – ช่วงที่ใช้บ่อยที่สุดด้วยการคลิกเพียงครั้งเดียว

## จำนวนเฉพาะถูกใช้ที่ไหนบ้าง?

### การเข้ารหัสและความปลอดภัย

จำนวนเฉพาะเป็นพื้นฐานของการเข้ารหัสสมัยใหม่ อัลกอริทึมเช่น **RSA** ทำงานบนหลักการที่ว่าการคำนวณผลคูณของจำนวนเฉพาะขนาดใหญ่สองตัวนั้นง่าย แต่การแยกตัวประกอบกลับไปเป็นจำนวนเฉพาะเดิมนั้นยากมากในเชิงคำนวณ

- **การเข้ารหัส RSA** – คีย์ถูกสร้างจากจำนวนเฉพาะขนาดใหญ่สองตัว
- **Diffie-Hellman** – การแลกเปลี่ยนคีย์บนโมดูลาร์จำนวนเฉพาะ
- **ฟังก์ชันแฮช** – จำนวนเฉพาะเป็นค่าคงที่วิเศษ (SHA, MD5)

### คณิตศาสตร์และวิทยาศาสตร์

- **ทฤษฎีจำนวน** – องค์ประกอบพื้นฐานของจำนวนเต็ม
- **ข้อความคาดการณ์ของโกลด์บาค** – ทุกจำนวนคู่ที่ > 2 สามารถเขียนเป็นผลรวมของจำนวนเฉพาะสองตัวได้ (ยังไม่ได้รับการพิสูจน์)
- **สมมติฐานของรีมันน์** – หนึ่งในปัญหาของฮิลเบิร์ตที่เกี่ยวข้องกับการกระจายตัวของจำนวนเฉพาะ

### การใช้งานจริง

- **ตารางแฮช** – ขนาดของตารางที่เป็นจำนวนเฉพาะช่วยลดการชนกัน
- **เครื่องกำเนิดตัวเลขสุ่มเทียม** – การ congruence เชิงเส้นพร้อมโมดูลาร์จำนวนเฉพาะ
- **ดนตรีและจังหวะ** – polyrhythm ที่มีความยาวรอบเป็นจำนวนเฉพาะ

## การกระจายตัวของจำนวนเฉพาะ

จำนวนเฉพาะมีการกระจายตัวไม่สม่ำเสมอในหมู่จำนวนธรรมชาติ แต่ความหนาแน่นของมันลดลงเมื่อช่วงขยายใหญ่ขึ้น นี่คือสิ่งที่ **ทฤษฎีบทจำนวนเฉพาะ** อธิบาย: จำนวนของจำนวนเฉพาะที่น้อยกว่าหรือเท่ากับ N ประมาณ N / ln(N)

| ช่วง | จำนวนเฉพาะ |
| --- | --- |
| 1–10 | 4 |
| 1–100 | 25 |
| 1–1 000 | 168 |
| 1–10 000 | 1 229 |
| 1–100 000 | 9 592 |
| 1–1 000 000 | 78 498 |

## ตะแกรงของเอราทอสเทนีสทีละขั้นตอน

```
ช่วง 2–30:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]

1. เลือก 2, ขีดฆ่าพหุคูณ: 4, 6, 8, 10, 12...
2. เลือก 3, ขีดฆ่าพหุคูณ: 9, 15, 21, 27...
3. เลือก 5, ขีดฆ่าพหุคูณ: 25...
4. √30 ≈ 5.5 → เสร็จสิ้น

จำนวนเฉพาะ: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29
```

## ตะแกรงของเอราทอสเทนีสในโค้ด

### JavaScript

```
function sieve(to) {
  const composite = new Uint8Array(to + 1);
  const primes = [];
  for (let p = 2; p <= to; p++) {
    if (composite[p]) continue;
    primes.push(p);
    for (let j = p * p; j <= to; j += p) composite[j] = 1;
  }
  return primes;
}
```

### Python

```
def sieve(n):
    composite = bytearray(n + 1)
    primes = []
    for p in range(2, n + 1):
        if not composite[p]:
            primes.append(p)
            for j in range(p * p, n + 1, p):
                composite[j] = 1
    return primes
```

## คำถามที่พบบ่อย (FAQ)

### 1 เป็นจำนวนเฉพาะหรือไม่?

ไม่ใช่ โดยทั่วไปแล้ว 1 ไม่ถือว่าเป็นจำนวนเฉพาะ เหตุผลทางคณิตศาสตร์คือ หากเราถือว่า 1 เป็นจำนวนเฉพาะ ทฤษฎีบทการแยกตัวประกอบเป็นจำนวนเฉพาะจะใช้ไม่ได้

### 2 เป็นจำนวนเฉพาะหรือไม่?

ใช่ 2 เป็นจำนวนเฉพาะที่เล็กที่สุดและเป็นจำนวนเฉพาะคู่เพียงตัวเดียว จำนวนคู่ที่เหลือทั้งหมดหารด้วยสองลงตัว จึงเป็นจำนวนประกอบ

### มีจำนวนเฉพาะกี่ตัว?

มีไม่จำกัด ยุคลิดได้พิสูจน์ไว้ประมาณ 300 ปีก่อนคริสตกาล ด้วยการพิสูจน์แบบแย้งว่า: สมมติว่ามีจำนวนเฉพาะจำกัดจำนวน ผลคูณของจำนวนเฉพาะเหล่านั้นบวก 1 จะไม่สามารถหารด้วยจำนวนเฉพาะตัวใดๆ ได้ – ดังนั้นมันจึงเป็นจำนวนเฉพาะใหม่ ซึ่งขัดแย้งกับสมมติฐาน

### จำนวนเฉพาะคู่แฝดคืออะไร?

จำนวนเฉพาะคู่แฝดคือคู่ของจำนวนเฉพาะที่ต่างกัน 2 เช่น (3, 5), (11, 13), (17, 19), (41, 43) การมีอยู่ของจำนวนเฉพาะคู่แฝดที่ไม่มีที่สิ้นสุดยังคงเป็นปัญหาที่ยังไม่ได้รับการแก้ไขในทางคณิตศาสตร์ (ข้อความคาดการณ์เกี่ยวกับจำนวนเฉพาะคู่แฝด)

### อัลกอริทึมทำงานเร็วแค่ไหน?

ตะแกรงของเอราทอสเทนีสมีความซับซ้อนของเวลาเป็น O(n log log n) สำหรับช่วงสูงสุด 10 ล้าน การคำนวณในเบราว์เซอร์มักจะใช้เวลาน้อยกว่า 100 มิลลิวินาที

## Other languages

- Čeština (cs): [Generátor prvočísel](https://acrafto.com/cs/generator-prvocisel/) ([Markdown](https://acrafto.com/cs/generator-prvocisel/index.md))
- Slovenčina (sk): [Generátor prvočísel](https://acrafto.com/sk/generator-prvocisel/) ([Markdown](https://acrafto.com/sk/generator-prvocisel/index.md))
- English (en): [Prime Number Generator](https://acrafto.com/en/prime-number-generator/) ([Markdown](https://acrafto.com/en/prime-number-generator/index.md))
- Deutsch (de): [Primzahlgenerator](https://acrafto.com/de/online-primzahl-generator/) ([Markdown](https://acrafto.com/de/online-primzahl-generator/index.md))
- Français (fr): [Générateur de nombres premiers](https://acrafto.com/fr/generateur-nombres-premiers/) ([Markdown](https://acrafto.com/fr/generateur-nombres-premiers/index.md))
- Español (es): [Generador de números primos](https://acrafto.com/es/generador-numeros-primos-online/) ([Markdown](https://acrafto.com/es/generador-numeros-primos-online/index.md))
- Italiano (it): [Generatore di numeri primi](https://acrafto.com/it/generatore-numeri-primi/) ([Markdown](https://acrafto.com/it/generatore-numeri-primi/index.md))
- Português (pt): [Gerador de números primos](https://acrafto.com/pt/gerador-numeros-primos-online/) ([Markdown](https://acrafto.com/pt/gerador-numeros-primos-online/index.md))
- Nederlands (nl): [Priemgetallengenerator](https://acrafto.com/nl/online-priemgetalgenerator/) ([Markdown](https://acrafto.com/nl/online-priemgetalgenerator/index.md))
- Polski (pl): [Generator liczb pierwszych](https://acrafto.com/pl/generator-liczb-pierwszych/) ([Markdown](https://acrafto.com/pl/generator-liczb-pierwszych/index.md))
- Română (ro): [Generator numere prime](https://acrafto.com/ro/generator-numere-prime-online/) ([Markdown](https://acrafto.com/ro/generator-numere-prime-online/index.md))
- Magyar (hu): [Prímszám generátor](https://acrafto.com/hu/primszam-generator/) ([Markdown](https://acrafto.com/hu/primszam-generator/index.md))
- Ελληνικά (el): [Γεννήτρια πρώτων αριθμών](https://acrafto.com/el/gennitria-proton-arithmon-online/) ([Markdown](https://acrafto.com/el/gennitria-proton-arithmon-online/index.md))
- Български (bg): [Генератор на прости числа](https://acrafto.com/bg/generator-na-prosti-chisla-onlajn/) ([Markdown](https://acrafto.com/bg/generator-na-prosti-chisla-onlajn/index.md))
- Hrvatski (hr): [Generator prostih brojeva](https://acrafto.com/hr/generator-prostih-brojeva-online/) ([Markdown](https://acrafto.com/hr/generator-prostih-brojeva-online/index.md))
- Slovenščina (sl): [Generator praštevil](https://acrafto.com/sl/generator-prastevil/) ([Markdown](https://acrafto.com/sl/generator-prastevil/index.md))
- Eesti (et): [Algarvude generaator](https://acrafto.com/et/algarvude-generaator/) ([Markdown](https://acrafto.com/et/algarvude-generaator/index.md))
- Latviešu (lv): [Pirmskaitļu ģenerators](https://acrafto.com/lv/primskaitlu-generators/) ([Markdown](https://acrafto.com/lv/primskaitlu-generators/index.md))
- Lietuvių (lt): [Pirminių skaičių generatorius](https://acrafto.com/lt/pirminiu-skaiciu-generatorius/) ([Markdown](https://acrafto.com/lt/pirminiu-skaiciu-generatorius/index.md))
- Svenska (sv): [Primtalsgenerator](https://acrafto.com/sv/primtalsgenerator-online/) ([Markdown](https://acrafto.com/sv/primtalsgenerator-online/index.md))
- Dansk (da): [Primtalsgenerator](https://acrafto.com/da/primtal-generator-online/) ([Markdown](https://acrafto.com/da/primtal-generator-online/index.md))
- Suomi (fi): [Alkulukugeneraattori](https://acrafto.com/fi/alkuluku-generaattori/) ([Markdown](https://acrafto.com/fi/alkuluku-generaattori/index.md))
- Norsk (no): [Primtallsgenerator](https://acrafto.com/no/primtallsgenerator/) ([Markdown](https://acrafto.com/no/primtallsgenerator/index.md))
- Українська (uk): [Генератор простих чисел](https://acrafto.com/uk/generator-prostyh-chysel/) ([Markdown](https://acrafto.com/uk/generator-prostyh-chysel/index.md))
- Русский (ru): [Генератор простых чисел](https://acrafto.com/ru/generator-prostykh-chisel-onlayn/) ([Markdown](https://acrafto.com/ru/generator-prostykh-chisel-onlayn/index.md))
- Српски (sr): [Generator prostih brojeva](https://acrafto.com/sr/generator-prostih-brojeva-online/) ([Markdown](https://acrafto.com/sr/generator-prostih-brojeva-online/index.md))
- Македонски (mk): [Генератор на прости броеви](https://acrafto.com/mk/generator-na-prosti-broevi/) ([Markdown](https://acrafto.com/mk/generator-na-prosti-broevi/index.md))
- Bosanski (bs): [Generator prostih brojeva](https://acrafto.com/bs/generator-prostih-brojeva/) ([Markdown](https://acrafto.com/bs/generator-prostih-brojeva/index.md))
- Shqip (sq): [Gjenerator numrash të thjeshtë](https://acrafto.com/sq/gjenerator-numrash-te-thjeshte/) ([Markdown](https://acrafto.com/sq/gjenerator-numrash-te-thjeshte/index.md))
- Türkçe (tr): [Asal sayı bulucu](https://acrafto.com/tr/asal-sayi-olusturucu/) ([Markdown](https://acrafto.com/tr/asal-sayi-olusturucu/index.md))
- 日本語 (ja): [素数一覧・生成ツール](https://acrafto.com/ja/online-prime-number-generator/) ([Markdown](https://acrafto.com/ja/online-prime-number-generator/index.md))
- 한국어 (ko): [소수 구하기](https://acrafto.com/ko/prime-number-generator/) ([Markdown](https://acrafto.com/ko/prime-number-generator/index.md))
- العربية (ar): [مولد الأعداد الأولية](https://acrafto.com/ar/prime-number-generator/) ([Markdown](https://acrafto.com/ar/prime-number-generator/index.md))
- हिन्दी (hi): [अभाज्य संख्या जनरेटर](https://acrafto.com/hi/prime-generator/) ([Markdown](https://acrafto.com/hi/prime-generator/index.md))
- Bahasa Indonesia (id): [Generator bilangan prima](https://acrafto.com/id/generator-bilangan-prima-online/) ([Markdown](https://acrafto.com/id/generator-bilangan-prima-online/index.md))
- Tiếng Việt (vi): [Trình tạo số nguyên tố](https://acrafto.com/vi/bo-tao-so-nguyen-to-truc-tuyen/) ([Markdown](https://acrafto.com/vi/bo-tao-so-nguyen-to-truc-tuyen/index.md))
- עברית (he): [מחולל מספרים ראשוניים](https://acrafto.com/he/prime-number-generator/) ([Markdown](https://acrafto.com/he/prime-number-generator/index.md))
