# Primtalsgenerator

> Online primtalsgenerator: find alle primtal i et interval, eller generér tilfældige. Bruger Eratosthenes' si direkte i browseren, gratis.

URL: https://acrafto.com/da/primtal-generator-online/

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.

## Hvad er et primtal?

Et **primtal** er et naturligt tal større end 1, der kun kan deles med 1 og sig selv. De mindste primtal er 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… Tallet 2 er det eneste lige primtal – alle andre lige tal er delelige med to.

Tal som 4 (= 2 × 2), 6 (= 2 × 3) eller 15 (= 3 × 5) er **ikke** primtal – vi kalder dem sammensatte tal.

## Hvordan fungerer generatoren?

For at liste alle primtal i et interval bruger vi **Eratosthenes’ si** – en af de ældste og mest effektive algoritmer, beskrevet af den græske matematiker Eratosthenes fra Kyrene omkring år 240 f.Kr.

Algoritmen fjerner successivt multipla af hvert fundne primtal. Hvad der er tilbage, er primtal. Hele beregningen foregår **direkte i din browser** – ingen data sendes til serveren.

Til tilfældigt udvalg opbygger generatoren først en liste over alle primtal i intervallet og vælger derefter tilfældigt det ønskede antal derfra ved hjælp af en kryptografisk sikker generator (`crypto.getRandomValues()`).

## Generatorfunktioner

- **Alle primtal** – viser hvert primtal i det angivne interval (maks. 10.000)
- **Tilfældigt udvalg** – vælger N tilfældige primtal fra intervallet (velegnet til store intervaller)
- **Sortering** – sorter resultaterne i stigende rækkefølge
- **Separator** – vælg, hvordan tallene adskilles ved kopiering
- **Hurtige forudindstillinger** – de mest almindelige intervaller med et enkelt klik

## Hvor bruges primtal?

### Kryptografi og sikkerhed

Primtal er grundlaget for moderne kryptografi. Algoritmer som **RSA** fungerer ud fra princippet om, at produktet af to store primtal er let at beregne, men den omvendte dekomponering til primfaktorer er beregningsmæssigt meget krævende.

- **RSA-kryptering** – nøgler genereres fra to store primtal
- **Diffie-Hellman** – nøgleudveksling over en primtalsmodul
- **Hashfunktioner** – primtal som magiske konstanter (SHA, MD5)

### Matematik og videnskab

- **Talteori** – grundlæggende byggesten i hele tal
- **Goldbachs formodning** – ethvert lige tal > 2 kan udtrykkes som summen af to primtal (stadig udokumenteret)
- **Riemann-hypotesen** – et af Hilberts problemer, vedrører fordelingen af primtal

### Praktisk anvendelse

- **Hashtabeller** – en tabelstørrelse som et primtal reducerer kollisioner
- **Pseudotilfældige talgeneratorer** – lineære kongruenser med en primtalsmodul
- **Musik og rytme** – polyrytmer med primtals cykluslængder

## Primtalfordeling

Primtal er uregelmæssigt fordelt blandt de naturlige tal, men deres tæthed falder med stigende interval. Dette beskrives af **Primtalssætningen**: antallet af primtal op til N er cirka N / ln(N).

| Interval | Antal primtal |
| --- | --- |
| 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 |

## Eratosthenes’ si trin for trin

```
Interval 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. Vælg 2, fjern multipla: 4, 6, 8, 10, 12...
2. Vælg 3, fjern multipla: 9, 15, 21, 27...
3. Vælg 5, fjern multipla: 25...
4. √30 ≈ 5.5 → færdig

Primtal: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29
```

## Eratosthenes’ si i kode

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

## Ofte stillede spørgsmål (FAQ)

### Er 1 et primtal?

Nej. Tallet 1 betragtes traditionelt ikke som et primtal. Årsagen er matematisk – hvis vi betragtede 1 som et primtal, ville sætningen om unik primfaktoropløsning miste sin gyldighed.

### Er 2 et primtal?

Ja. Tallet 2 er det mindste og samtidig det eneste lige primtal. Alle andre lige tal er delelige med to, og er derfor sammensatte tal.

### Hvor mange primtal findes der?

Uendelig mange. Euklid beviste dette omkring 300 f.Kr. med et elegant bevis ved modstrid: antag, at der kun findes et endeligt antal primtal. Deres produkt + 1 kan da ikke være deleligt med nogen af dem – ergo er det et nyt primtal, en modstrid.

### Hvad er primtalstvillinger?

Primtalstvillinger er par af primtal, der adskiller sig med 2, f.eks. (3, 5), (11, 13), (17, 19), (41, 43). Om der findes uendelig mange af dem er et uløst spørgsmål i matematikken den dag i dag (Formodningen om primtalstvillinger).

### Hvor hurtigt arbejder algoritmen?

Eratosthenes' si har en tidskompleksitet på O(n log log n). For et interval på op til 10 millioner vil beregningen i browseren typisk foregå på under 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))
- 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))
- 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))
