Online algarvude generaator

Kiiread eelseaded:
Eraldaja kopeerimisel

Mis on algarv?

Algarv on naturaalarv, mis on suurem kui 1 ja jagub ainult ühe ja iseendaga. Väikseimad algarvud on 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… Arv 2 on ainuke paaris algarv – kõik teised paarisarvud jaguvad kahega.

Arvud nagu 4 (= 2 × 2), 6 (= 2 × 3) või 15 (= 3 × 5) ei ole algarvud – neid nimetatakse kordarvudeks.

Kuidas generaator töötab?

Kõigi algarvude leidmiseks antud vahemikus kasutame Eratosthenese sõela – üht vanimat ja tõhusaimat algoritmi, mille kirjeldas Kreeka matemaatik Eratosthenes Küreenest umbes aastal 240 eKr.

Algoritm kustutab järk-järgult iga leitud algarvu kordused. See, mis alles jääb, on algarvud. Kogu arvutus toimub otse teie brauseris – serverisse andmeid ei saadeta.

Juhusliku valiku jaoks koostab generaator esmalt nimekirja kõigist vahemiku algarvudest ja seejärel valib sealt juhuslikult soovitud arvu krüptograafiliselt turvalise generaatori (crypto.getRandomValues()) abil.

Generaatori funktsioonid

  • Kõik algarvud – loetleb iga algarvu antud vahemikus (max 10 000)
  • Juhuslik valik – valib vahemikust N juhuslikku algarvu (sobib suurte vahemike jaoks)
  • Sorteerimine – sorteeri tulemused kasvavalt
  • Eraldaja – vali, kuidas numbrid kopeerimisel eraldatakse
  • Kiiread eelseaded – levinuimad vahemikud ühe klõpsuga

Kus algarve kasutatakse?

Krüptograafia ja turvalisus

Algarvud on kaasaegse krüptograafia aluseks. Algoritmid nagu RSA toimivad põhimõttel, et kahe suure algarvu korrutist on lihtne arvutada, kuid tagurpidi algteguriteks jaotamine on arvutuslikult väga keeruline.

  • RSA krüpteerimine – võtmed genereeritakse kahest suurest algarvust
  • Diffie-Hellman – võtmevahetus algarvulise mooduli abil
  • Räsifunktsioonid – algarvud maagiliste konstantidena (SHA, MD5)

Matemaatika ja teadus

  • Arvuteooria – täisarvude põhilised ehitusplokid
  • Goldbachi hüpotees – iga paarisarv > 2 saab väljendada kahe algarvu summana (siiani tõestamata)
  • Riemanni hüpotees – üks Hilberti probleemidest, käsitleb algarvude jaotumist

Praktiline kasutus

  • Räsitabelid – tabeli suurus algarvuna vähendab kokkupõrkeid
  • Pseudojuhuslike arvude generaatorid – lineaarsed kongruentsid algarvulise mooduliga
  • Muusika ja rütm – polürütmid algarvuliste tsüklipikkustega

Algarvude jaotus

Algarvud on naturaalarvude seas ebaregulaarselt jaotunud, kuid nende tihedus väheneb vahemiku kasvades. Seda kirjeldab Algarvuteoreem: algarvude arv kuni N on ligikaudu N / ln(N).

VahemikAlgarvude arv
1–104
1–10025
1–1 000168
1–10 0001 229
1–100 0009 592
1–1 000 00078 498

Eratosthenese sõel samm-sammult

Vahemik 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. Vali 2, kriipsuta läbi kordsed: 4, 6, 8, 10, 12...
2. Vali 3, kriipsuta läbi kordsed: 9, 15, 21, 27...
3. Vali 5, kriipsuta läbi kordsed: 25...
4. √30 ≈ 5.5 → valmis

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

Eratosthenese sõel koodis

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

Korduma kippuvad küsimused (KKK)

Kas 1 on algarv? Ei. Arvu 1 ei peeta traditsiooniliselt algarvuks. Põhjus on matemaatiline – kui me peaksime 1 algarvuks, kaotaks kehtivuse teoreem algteguriteks lahutamise unikaalsuse kohta.
Kas 2 on algarv? Jah. Arv 2 on väikseim ja samal ajal ainuke paaris algarv. Kõik teised paarisarvud jaguvad kahega, seega on need kordarvud.
Mitu algarvu eksisteerib? Lõpmatult palju. Eukleides tõestas seda umbes aastal 300 eKr elegantse vastuväite abil: oletame, et eksisteerib lõplik arv algarve. Nende korrutis + 1 ei saa siis jaguda ühegagi neist – seega on see uus algarv, vastuolu.
Mis on algarvupaarid (kaksik-algarvud)? Algarvupaarid on algarvude paarid, mis erinevad 2 võrra, näiteks (3, 5), (11, 13), (17, 19), (41, 43). See, kas neid on lõpmatult palju, on tänaseni lahendamata matemaatiline küsimus (Kaksik-algarvude hüpotees).
Kui kiiresti algoritm töötab? Eratosthenese sõela ajaline keerukus on O(n log log n). Kuni 10 miljoni ulatuses vahemiku puhul toimub arvutus brauseris tavaliselt alla 100 ms.