# Generator praštevil

> Generirajte vsa praštevila v določenem obsegu ali naključno izberite N praštevil. Uporablja Eratostenovo sito za hitre izračune v brskalniku, brez strežnika.

URL: https://acrafto.com/sl/generator-prastevil/

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.

## Kaj je praštevilo?

**Praštevilo** je naravno število, večje od 1, ki je deljivo le z 1 in samo s seboj. Najmanjša praštevila so 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… Število 2 je edino sodo praštevilo – vsa ostala soda števila so deljiva z dvema.

Števila, kot so 4 (= 2 × 2), 6 (= 2 × 3) ali 15 (= 3 × 5), **niso** praštevila – imenujemo jih sestavljena števila.

## Kako deluje generator?

Za izpis vseh praštevil v obsegu uporabljamo **Eratostenovo sito** – enega najstarejših in najučinkovitejših algoritmov, ki ga je opisal grški matematik Eratosten iz Kirene okoli leta 240 pr. n. št.

Algoritem postopoma prečrta večkratnike vsakega najdenega praštevila. Kar ostane, so praštevila. Celoten izračun poteka **neposredno v vašem brskalniku** – na strežnik se ne pošiljajo nobeni podatki.

Za naključni izbor generator najprej sestavi seznam vseh praštevil v obsegu, nato pa iz njega naključno izbere želeno število z uporabo kriptografsko varnega generatorja (`crypto.getRandomValues()`).

## Funkcije generatorja

- **Vsa praštevila** – izpiše vsako praštevilo v določenem obsegu (največ 10.000)
- **Naključni izbor** – izbere N naključnih praštevil iz obsega (primerno za velike obsege)
- **Razvrščanje** – rezultate razvrstite naraščajoče
- **Ločilo** – izberite, kako bodo števila ločena pri kopiranju
- **Hitre prednastavitve** – najpogostejši obsegi z enim klikom

## Kje se uporabljajo praštevila?

### Kriptografija in varnost

Praštevila so temelj sodobne kriptografije. Algoritmi, kot je **RSA**, delujejo na principu, da je zmnožek dveh velikih praštevil enostavno izračunati, vendar je razgradnja nazaj na prafaktorje računalniško zelo zahtevna.

- **RSA šifriranje** – ključi se generirajo iz dveh velikih praštevil
- **Diffie-Hellman** – izmenjava ključev nad praštevilskim modulom
- **Funkcije zgoščevanja (Hash)** – praštevila kot magične konstante (SHA, MD5)

### Matematika in znanost

- **Teorija števil** – osnovni gradniki celih števil
- **Goldbachova domneva** – vsako sodo število > 2 se lahko izrazi kot vsota dveh praštevil (še ni dokazano)
- **Riemannova hipoteza** – eden od Hilbertovih problemov, nanaša se na porazdelitev praštevil

### Praktična uporaba

- **Hash tabele** – velikost tabele kot praštevilo zmanjšuje kolizije
- **Generatorji psevdonaključnih števil** – linearna kongruenca s praštevilskim modulom
- **Glasba in ritem** – poliritmi s praštevilskimi dolžinami ciklov

## Porazdelitev praštevil

Praštevila so med naravnimi števili razporejena neenakomerno, vendar njihova gostota pada z naraščajočim obsegom. To opisuje **Izrek o praštevilih**: število praštevil do N je približno N / ln(N).

| Obseg | Število praštevil |
| --- | --- |
| 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 |

## Eratostenovo sito korak za korakom

```
Obseg 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. Izberi 2, prečrtaj večkratnike: 4, 6, 8, 10, 12...
2. Izberi 3, prečrtaj večkratnike: 9, 15, 21, 27...
3. Izberi 5, prečrtaj večkratnike: 25...
4. √30 ≈ 5.5 → končano

Praštevila: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29
```

## Eratostenovo sito v kodi

### 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
```

## Pogosta vprašanja (FAQ)

### Ali je 1 praštevilo?

Ne. Število 1 se tradicionalno ne šteje za praštevilo. Razlog je matematičen – če bi 1 šteli za praštevilo, bi izgubil veljavnost izrek o enolični razgradnji na prafaktorje.

### Ali je 2 praštevilo?

Da. Število 2 je najmanjše in hkrati edino sodo praštevilo. Vsa ostala soda števila so deljiva z dvema, torej so sestavljena.

### Koliko praštevil obstaja?

Neskončno mnogo. Evklid je to dokazal okoli leta 300 pr. n. št. z elegantnim dokazom s protislovjem: predpostavimo, da obstaja končno število praštevil. Njihov produkt + 1 potem ne more biti deljiv z nobenim od njih – torej je to novo praštevilo, protislovje.

### Kaj so praštevilski dvojčki?

Praštevilski dvojčki so pari praštevil, ki se razlikujejo za 2, na primer (3, 5), (11, 13), (17, 19), (41, 43). Ali jih obstaja neskončno mnogo, je še danes nerešeno vprašanje matematike (Domneva o praštevilskih dvojčkih).

### Kako hitro deluje algoritem?

Eratostenovo sito ima časovno kompleksnost O(n log log n). Za obseg do 10 milijonov izračun v brskalniku običajno poteka pod 100 ms.

## 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))
- 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))
- ไทย (th): [หาจำนวนเฉพาะ](https://acrafto.com/th/prime-number-generator/) ([Markdown](https://acrafto.com/th/prime-number-generator/index.md))
- עברית (he): [מחולל מספרים ראשוניים](https://acrafto.com/he/prime-number-generator/) ([Markdown](https://acrafto.com/he/prime-number-generator/index.md))
