# Primtallsgenerator

> Finn alle primtall i et gitt område eller velg N tilfeldige primtall. Lynraske beregninger direkte i nettleseren, uten server.

URL: https://acrafto.com/no/primtallsgenerator/

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.

## Hva er et primtall?

Et **primtall** er et naturlig tall større enn 1 som kun er delelig med 1 og seg selv. De minste primtallene er 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… Tallet 2 er det eneste partallprimtallet – alle andre partall er delelige med to.

Tall som 4 (= 2 × 2), 6 (= 2 × 3) eller 15 (= 3 × 5) er **ikke** primtall – vi kaller dem sammensatte tall.

## Hvordan fungerer generatoren?

For å liste alle primtall i et område bruker vi **Eratosthenes’ sil** – en av de eldste og mest effektive algoritmene, beskrevet av den greske matematikeren Eratosthenes fra Kyrene rundt 240 f.Kr.

Algoritmen eliminerer gradvis multipler av hvert funnet primtall. Det som blir igjen, er primtallene. Hele beregningen foregår **direkte i nettleseren din** – ingen data sendes til serveren.

For tilfeldig utvalg setter generatoren først sammen en liste over alle primtall i området og velger deretter tilfeldig det ønskede antallet fra den ved hjelp av en kryptografisk sikker generator (`crypto.getRandomValues()`).

## Generatorfunksjoner

- **Alle primtall** – viser hvert primtall i det angitte området (maks. 10 000)
- **Tilfeldig utvalg** – velger N tilfeldige primtall fra området (egnet for store områder)
- **Sortering** – sorter resultatene i stigende rekkefølge
- **Skilletegn** – velg hvordan tallene skal skilles ved kopiering
- **Hurtigvalg** – de vanligste områdene med ett klikk

## Hvor brukes primtall?

### Kryptografi og sikkerhet

Primtall er grunnlaget for moderne kryptografi. Algoritmer som **RSA** fungerer på prinsippet om at produktet av to store primtall er enkelt å beregne, men det er beregningsmessig svært krevende å faktorisere dem tilbake til primfaktorer.

- **RSA-kryptering** – nøkler genereres fra to store primtall
- **Diffie-Hellman** – nøkkelutveksling over en primtallsmodul
- **Hash-funksjoner** – primtall som magiske konstanter (SHA, MD5)

### Matematikk og vitenskap

- **Tallteori** – de grunnleggende byggesteinene for heltall
- **Goldbachs formodning** – hvert partall > 2 kan uttrykkes som summen av to primtall (fortsatt ubevist)
- **Riemann-hypotesen** – et av Hilberts problemer, angår fordelingen av primtall

### Praktisk bruk

- **Hash-tabeller** – tabellstørrelse som et primtall reduserer kollisjoner
- **Pseudotilfeldige tallgeneratorer** – lineær kongruens med en primtallsmodul
- **Musikk og rytme** – polyrytmer med primtallsbaserte sykluslengder

## Fordelingen av primtall

Primtall er uregelmessig fordelt blant naturlige tall, men deres tetthet avtar med økende område. Dette beskrives av **Primtallsteoremet**: antall primtall opp til N er omtrent N / ln(N).

| Område | Antall primtall |
| --- | --- |
| 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’ sil trinn for trinn

```
Område 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. Velg 2, stryker multipler: 4, 6, 8, 10, 12...
2. Velg 3, stryker multipler: 9, 15, 21, 27...
3. Velg 5, stryker multipler: 25...
4. √30 ≈ 5.5 → ferdig

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

## Eratosthenes’ sil 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 stilte spørsmål (FAQ)

### Er 1 et primtall?

Nei. Tallet 1 regnes tradisjonelt ikke som et primtall. Årsaken er matematisk – hvis vi skulle anse 1 som et primtall, ville teoremet om entydig primfaktorisering ikke lenger være gyldig.

### Er 2 et primtall?

Ja. Tallet 2 er det minste og samtidig det eneste partallprimtallet. Alle andre partall er delelige med to, og er dermed sammensatte.

### Hvor mange primtall finnes?

Uendelig mange. Euklid beviste dette rundt 300 f.Kr. med et elegant motbevis: anta at det finnes et endelig antall primtall. Produktet av dem + 1 kan da ikke være delelig med noen av dem – dermed er det et nytt primtall, en motsigelse.

### Hva er tvillingprimtall?

Tvillingprimtall er par av primtall som skiller seg med 2, for eksempel (3, 5), (11, 13), (17, 19), (41, 43). Om det finnes uendelig mange av dem, er fortsatt et uløst spørsmål i matematikken (Tvillingprimtallformodningen).

### Hvor raskt fungerer algoritmen?

Eratosthenes' sil har en tidskompleksitet på O(n log log n). For et område opp til 10 millioner vil beregningen i nettleseren typisk ta 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))
- 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))
- Українська (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))
