Calcolatore fattorizzazione numeri primi

Fattorizza un numero in primi, verifica primalità, trova divisori e numeri primi in un range. Crivello di Eratostene, teorema fondamentale aritmetica.

Parametri di calcolo
Per operazioni di fattorizzazione max 10^15 per performance. Per Eratostene max 10^7
Questo calcolatore ti è stato utile?

Numeri primi: i mattoni dell'aritmetica

Un numero primo è un intero > 1 divisibile solo per 1 e per sé stesso. I primi 20 numeri primi: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71.

I numeri non primi (maggiori di 1) si chiamano composti. Sono prodotto di primi più piccoli.

Il numero 1 non è primo né composto per convenzione matematica (questione di coerenza nel teorema fondamentale).

Teorema fondamentale dell'aritmetica

Ogni intero > 1 si esprime in modo unico (a meno dell'ordine) come prodotto di numeri primi. Dimostrato da Euclide (~300 a.C.) negli Elementi.

n = p₁a₁ × p₂a₂ × ... × pkak

Esempi:

  • 12 = 2² × 3
  • 60 = 2² × 3 × 5
  • 360 = 2³ × 3² × 5
  • 1000 = 2³ × 5³
  • 1001 = 7 × 11 × 13 (storicamente significativo)

Crivello di Eratostene

Algoritmo antico (Eratostene di Cirene, ~240 a.C.) per trovare tutti i primi fino a n:

  1. Scrivi tutti i numeri da 2 a n
  2. Il più piccolo non cancellato è primo: cancella tutti i suoi multipli
  3. Ripeti con il prossimo primo
  4. Fermati quando il primo supera √n

Complessità: O(n log log n), molto efficiente per n < 108.

Test di primalità

1. Trial division

Verifica se n è divisibile per qualche primo p ≤ √n. O(√n). Usa fino a circa 109.

2. Test di Miller-Rabin

Probabilistico: verifica primalità con probabilità di errore < 1/4k per k ripetizioni. Deterministico con specifiche basi fino a 3,3 × 1014 (Miller 1976, Rabin 1980).

3. AKS primality test

Agrawal, Kayal, Saxena (2002): primo algoritmo deterministico polinomiale per primalità. Storicamente importante, computazionalmente più lento di Miller-Rabin in pratica.

4. ECPP (Elliptic Curve Primality Proving)

Usato per certificare primi gigantesci. Il più grande primo dimostrato primo via ECPP ha ~40.000 cifre.

Teorema dei numeri primi

Dimostrato indipendentemente da Jacques Hadamard e Charles de la Vallée Poussin nel 1896:

π(n) ~ n / ln(n)

dove π(n) è il numero di primi ≤ n. Approssimazione più accurata: π(n) ≈ Li(n) (logaritmo integrale).

Densità primi:

  • Fino a 100: 25 primi (25%)
  • Fino a 1.000: 168 (16,8%)
  • Fino a 10.000: 1.229 (12,3%)
  • Fino a 1.000.000: 78.498 (7,85%)
  • Fino a 109: 50.847.534 (5,08%)

I primi "diradano" ma non finiscono mai (teorema di Euclide: infiniti primi).

Dimostrazione infinità dei primi (Euclide)

Supponi per assurdo che i primi siano finiti: p₁, p₂, ..., pn.

Consideriamo N = p₁ · p₂ · ... · pn + 1.

N non è divisibile per alcun pi (lascerebbe resto 1).

Quindi N è primo oppure ha un fattore primo non nella lista.

Contraddizione → i primi sono infiniti. QED Euclide ~300 a.C.

Primi famosi

Primi di Mersenne

Della forma Mp = 2p − 1 con p primo. Il più grande primo conosciuto (fine 2024) è 2136.279.841 − 1 (51° primo di Mersenne), con ~41 milioni di cifre.

Progetto GIMPS (Great Internet Mersenne Prime Search): computing distribuito volontario.

Primi di Fermat

Fn = 22n + 1. Fermat congetturò (1640) che tutti i Fn fossero primi. Eulero (1732) dimostrò F5 = 4.294.967.297 = 641 × 6.700.417 (composto!). Ad oggi solo F0..F4 (3, 5, 17, 257, 65537) sono primi.

Primi gemelli

Coppie (p, p+2) con entrambi primi. Esempi: (3,5), (5,7), (11,13), (17,19), (29,31), ...

Congettura dei primi gemelli (aperto): ci sono infinite coppie. Non dimostrato. Yitang Zhang (2013) dimostrò che infiniti primi sono a distanza < 70.000.000. Dall'allora la bound è stata ridotta a < 246.

Primi di Sophie Germain

p primo tale che 2p + 1 è anche primo. Usati in crittografia. Sophie Germain (1831) li studiò nella dimostrazione parziale dell'Ultimo teorema di Fermat.

Crittografia e numeri primi

La sicurezza dei principali algoritmi crittografici si basa sulla difficoltà della fattorizzazione di grandi semi-primi (prodotto di due primi):

RSA (Rivest-Shamir-Adleman, 1977)

Chiave pubblica e privata basate su due primi p, q di ~300-600 cifre ciascuno. Decifrare senza conoscere p e q richiede fattorizzare n = p·q, computazionalmente infattibile.

RSA-2048 (2048 bit): sicurezza attuale. RSA-4096: sicurezza extra. RSA-1024 ormai rotto nel 2019.

Minaccia quantistica

Algoritmo di Shor (1994) su computer quantistico fattorizza n in tempo polinomiale. RSA cadrà quando computer quantistici con migliaia di qubit saranno realizzati. NIST sta standardizzando crittografia post-quantistica.

Funzioni aritmetiche importanti

Funzione di Eulero φ(n)

Numero di interi da 1 a n coprimi con n.

Formula: φ(n) = n · Π(1 − 1/p) per p primi divisori di n.

Esempi:

  • φ(10) = 10 · (1 − 1/2) · (1 − 1/5) = 10 · 0,5 · 0,8 = 4 (gli interi 1, 3, 7, 9 sono coprimi con 10)
  • φ(12) = 12 · (1 − 1/2) · (1 − 1/3) = 4 (1, 5, 7, 11)
  • φ(p) = p − 1 per p primo

Teorema di Eulero: se gcd(a, n) = 1, allora aφ(n) ≡ 1 (mod n). Fondamentale in crittografia.

Funzione somma dei divisori σ(n)

Somma di tutti i divisori positivi di n. Per p primo: σ(p) = 1 + p.

σ(12) = 1 + 2 + 3 + 4 + 6 + 12 = 28.

Numeri perfetti

Interi uguali alla somma dei loro divisori propri (escluso se stesso):

  • 6 = 1 + 2 + 3
  • 28 = 1 + 2 + 4 + 7 + 14
  • 496, 8128, 33.550.336, ...

Formula Eulero: un numero pari è perfetto sse è della forma 2p-1(2p − 1) con 2p − 1 primo di Mersenne. Non si sa se esistano numeri perfetti dispari (problema aperto).

Numeri amici

Coppia (a, b) tali che σ(a) − a = b e σ(b) − b = a. Primi esempi: (220, 284), (1184, 1210), (2620, 2924).

Congetture aperte celebri

Congettura di Goldbach (1742)

Ogni pari > 2 è somma di due primi. Verificata fino a ~4 × 1018, non dimostrata.

Ipotesi di Riemann (1859)

Tutti gli zeri non banali della funzione zeta di Riemann hanno parte reale = 1/2. Implica distribuzione molto precisa dei primi. Premio Millennium: $1 milione.

Congettura dei primi gemelli

Infinite coppie (p, p+2) entrambe prime.

Congettura di Legendre

C'è sempre almeno un primo fra n² e (n+1)².

Il più grande primo conosciuto

A ottobre 2024: 2136.279.841 − 1

  • 41.024.320 cifre
  • 51° primo di Mersenne
  • Trovato da Luke Durant via GIMPS (progetto volontario GPU-based)
  • Tempi di verifica: ~1 mese su CPU moderna

Per contesto: l'universo osservabile contiene ~1082 atomi. Un primo con 41 milioni di cifre è inconcepibile.

Fattorizzazione algoritmi avanzati

Pollard's rho

Algoritmo probabilistico O(n1/4). Efficiente per semi-primi con fattori medio-piccoli.

Quadratic Sieve (QS)

Algoritmo sub-esponenziale, pratico per n fino a ~10100.

Number Field Sieve (NFS)

Miglior algoritmo classico noto: complessità L(1/3). Rotto RSA-768 nel 2009.

Algoritmo di Shor (quantistico)

Polinomiale O((log n)²·log log n). Romperà RSA quando ci saranno computer quantistici pratici.

Applicazioni moderne

Crittografia

  • RSA: e-commerce, SSL/TLS, firme digitali
  • Diffie-Hellman: scambio chiavi
  • ElGamal: cifratura asimmetrica
  • Curve ellittiche (ECC): alternativa più efficiente

Generatori pseudocasuali

Blum Blum Shub: generatore basato su difficoltà di fattorizzazione, crittograficamente sicuro.

Funzioni hash

Alcuni algoritmi usano moduli primi per migliore distribuzione (universal hashing).

Teoria dei codici

Reed-Solomon su GF(pn) per correzione errori in CD, QR code, DVB.

Calcolo distribuito

GIMPS Mersenne search, SETI@home architecture: test primalità volontari globali.

Esempi notevoli

Esempio 1 — Fattorizzazione 360

360 = 2³ × 3² × 5
Divisori: (3+1)(2+1)(1+1) = 24
Lista: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 60, 72, 90, 120, 180, 360

Esempio 2 — Numero di Carmichael

561 = 3 × 11 × 17. Composto, ma supera test di Fermat per ogni base coprimeo — "pseudo-primo forte". Scoperto da Korselt 1899, catalogato da Carmichael 1910.

Esempio 3 — Primalità di 1.000.003

√1.000.003 ≈ 1000. Dobbiamo testare divisibilità per primi ≤ 1000. Nessun fattore trovato → 1.000.003 è primo.

Funzioni in Excel / Sheets / Python

Python

from sympy import isprime, primerange, factorint, primepi

isprime(1000003)     # True
list(primerange(1, 50))  # [2, 3, 5, 7, ...]
factorint(360)       # {2: 3, 3: 2, 5: 1}
primepi(10**6)       # 78498 (pi function)

Excel / Sheets

Nessuna funzione nativa per primalità o fattorizzazione. Usa Python/VBA o formula custom con LAMBDA (Excel 365).

Errori comuni

  • 1 è primo? No, è un'unità. Né primo né composto per convenzione
  • 2 è pari e primo: l'unico
  • Fattorizzazione dei negativi: estesa con unità ±1 e primi signed. In ℕ non si applica
  • Crittografia con "piccoli primi": RSA con chiavi < 2048 bit è obsoleto

FAQ

Perché 1 non è primo?

Per convenzione che preserva il teorema fondamentale dell'aritmetica: se 1 fosse primo, 6 = 1 × 2 × 3 = 1 × 1 × 2 × 3 avrebbe fattorizzazioni multiple.

Come trovare primi grandi?

Per curiosità: GIMPS volontariato. Per uso crittografico: generazione pseudocasuale + test Miller-Rabin.

Quanti primi ci sono fino a un milione?

π(106) = 78.498. Circa 1 numero su 12-13 è primo nell'intervallo.

Primi gemelli sono infiniti?

Congettura aperta. Prova di Zhang 2013: infinite coppie a distanza < 70 milioni. Ridotto a < 246 con collaborazione Polymath.

RSA è sicuro?

Sì per chiavi ≥ 2048 bit (per ora). Minacce future: computer quantistici. NIST standardizzando crittografia post-quantica.

Come verificare se un numero gigantesco è primo?

Miller-Rabin probabilistic, AKS deterministic, ECPP per certificazioni pubbliche.

Conclusione

I numeri primi sono i mattoni irriducibili dell'aritmetica. Euclide dimostrò la loro infinità 2300 anni fa; oggi alimentano la sicurezza digitale mondiale. Le formule fondamentali — teorema aritmetica, crivello Eratostene, funzione φ — sono evergreen: varranno fra 2000 anni come valgono oggi. La matematica più semplice (contare i fattori) alla base della matematica più profonda (Riemann, quantum).

Aggiornato a luglio 2026

Domande frequenti

Cos'è la fattorizzazione in numeri primi?

È la scomposizione di un numero intero nel prodotto dei suoi fattori primi. Per esempio 60 = 2² × 3 × 5. Ogni numero maggiore di 1 ha una e una sola fattorizzazione, a meno dell'ordine dei fattori: è il teorema fondamentale dell'aritmetica, dimostrato da Euclide.

Cos'è un numero primo?

Un numero primo è un intero maggiore di 1 divisibile solo per 1 e per sé stesso: 2, 3, 5, 7, 11, 13… Il 2 è l'unico primo pari. I numeri con altri divisori si dicono composti. L'1 non è né primo né composto, è chiamato unità. I primi sono infiniti, come dimostrò Euclide.

Come si fattorizza un numero?

Si usa la divisione per tentativi: si divide il numero per il più piccolo primo possibile (2, poi 3, 5, 7…) finché non è più divisibile, e si passa al primo successivo. Basta provare i primi fino alla radice quadrata del numero; se resta un fattore maggiore di 1, quello è primo. Esempio: 84 = 2×42 = 2×2×21 = 2²×3×7.

Cos'è il teorema fondamentale dell'aritmetica?

Afferma che ogni intero maggiore di 1 può essere scritto come prodotto di numeri primi in modo unico, a meno dell'ordine dei fattori. È il motivo per cui i primi sono chiamati i 'mattoni' dei numeri: ogni intero è costruito moltiplicando primi in un solo modo possibile. È alla base di quasi tutta la teoria dei numeri.

Come si trovano tutti i divisori di un numero?

Dalla fattorizzazione: se n = p₁^a × p₂^b × …, il numero di divisori è (a+1)(b+1)… e ogni divisore si ottiene combinando gli esponenti da 0 al massimo. Per esempio 12 = 2²×3 ha (2+1)(1+1) = 6 divisori: 1, 2, 3, 4, 6, 12. La somma dei divisori σ(n) si usa per i numeri perfetti e amichevoli.

Cos'è la funzione phi di Eulero?

La funzione toziente φ(n) conta quanti interi da 1 a n sono coprimi con n (cioè senza fattori comuni). Si calcola dalla fattorizzazione: φ(n) = n·∏(1−1/p) per ogni primo p che divide n. Per esempio φ(12) = 12·(1−1/2)(1−1/3) = 4. È fondamentale nel teorema di Eulero e nella crittografia RSA.

A cosa serve la fattorizzazione in numeri primi?

È al cuore della crittografia moderna: RSA si basa sulla difficoltà di fattorizzare numeri di centinaia di cifre. Serve anche a calcolare massimo comune divisore e minimo comune multiplo, a semplificare frazioni, a studiare i divisori e in innumerevoli problemi di teoria dei numeri e informatica.

Formula

n = p1^a1 × p2^a2 × ... × pk^ak (teorema fondamentale aritmetica)

Commenti (0)

Ancora nessun commento. Sii il primo!