Online Primtalsgenerator – Find, generer, list primtal

Hurtige forudindstillinger:
Separator ved kopiering

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).

IntervalAntal primtal
1–104
1–10025
1–1.000168
1–10.0001.229
1–100.0009.592
1–1.000.00078.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.