Calcolatore di primoriale
Moltiplichi tutti i numeri primi fino a n e ottenga il risultato esatto: 10# è 2 × 3 × 5 × 7, cioè 210, insieme all'elenco dei primi e a quanti sono. Tutte le cifre restano esatte per qualsiasi n fino a 10000. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Intero non negativo come limite superiore
- 10
- Valore
- 210
- Prodotto
- 210
- Numeri primi
- 2, 3, 5, 7
- Quantità
- 4
Il primoriale di un intero non negativo n, scritto n#, è il prodotto di ogni numero primo minore o uguale a n. È l'analogo primo del fattoriale: invece di moltiplicare tutti gli interi positivi fino a n, moltiplica solo i primi che cadono a o sotto quel limite. I primoriali compaiono in dimostrazioni sui gap tra primi, costruzioni di bound legati a numeri altamente composti, euristiche di primalità e problemi di gara che richiedono il prodotto dei primi primi senza deriva in virgola mobile. Questo calcolatore setaccia i primi fino a n e li moltiplica con aritmetica BigInt esatta, restituendo la stringa decimale completa insieme all'elenco dei primi e al loro conteggio. Per n minore di due non ci sono primi a o sotto n, quindi il prodotto vuoto è uno per la convenzione moltiplicativa standard. Gli input negativi e non interi vengono rifiutati con un chiaro errore di validazione piuttosto che con una risposta sbagliata silenziosa.
Come è definito e calcolato il primoriale n#
Il primoriale n# è definito come il prodotto di tutti i numeri primi p tali che p è minore o uguale a n. Quando n è zero o uno, quell'insieme è vuoto e il prodotto vuoto vale uno, proprio come il fattoriale di zero è definito come uno.
Per n uguale a due l'unico primo è due e il primoriale è due; per n uguale a tre i primi sono due e tre e il prodotto è sei; per n uguale a quattro i primi restano solo due e tre quindi il primoriale resta sei; per n uguale a cinque il prodotto diventa trenta; per n uguale a sette è duecentodieci; per n uguale a undici è duemilatrecentodieci.
La crescita è super-esponenziale nel senso delle cifre perché ogni nuovo primo moltiplica il prodotto corrente per un fattore più grande, e per il teorema dei numeri primi il logaritmo di n# è dell'ordine di n, quindi la lunghezza in cifre cresce all'incirca come n sul logaritmo naturale di dieci.
Questa implementazione non usa mai approssimazione in virgola mobile, test probabilistici di primalità per l'intervallo del crivello né tabelle esterne: esegue un classico crivello di Eratostene fino a n, raccoglie ogni flag primo che resta vero e moltiplica quei primi in ordine con BigInt così ogni cifra intermedia e finale è intera esatta. Il percorso è pienamente deterministico — nessuna seme casuale, nessun orologio, nessuna rete e nessuna deriva di modello —, quindi lo stesso n produce sempre la stessa stringa, lo stesso elenco di primi e lo stesso conteggio.
Dove i primoriali esatti compaiono nel lavoro reale
Educatori di crittografia e sicurezza a volte illustrano come i prodotti di piccoli primi si comportano sotto aritmetica modulare e come i primoriali si legano ai bound di primalità; un controllo esatto di stringa conferma gli esempi di diapositiva prima che gli studenti implementino i propri crivelli. Demo di prodotto e preparazione ai colloqui spesso mostrano una breve tabella di primoriali accanto a una di fattoriali così i candidati possono contrastare i due prodotti; calcolare n# in una chiamata mantiene le demo interattive allineate ai libri di testo.
Se in seguito serve il prodotto dei primi k primi come sequenza indicizzata separata, il solo conteggio dei primi, il fattoriale o la primalità di un singolo grande intero, li tratti come intenti di ricerca separati invece di sovraccaricare questa pagina di calcolatore di primoriale.
Casi d'uso
Insegnare i primi contro i fattoriali
Mostri agli studenti come n# moltiplica solo i primi ≤ n mentre n! moltiplica ogni intero, con stringhe esatte così i termini grandi restano corretti accanto alle tabelle del libro.
Controlli di sanità di librerie e crivelli
Confermi implementazioni di crivello, helper di prodotto di primi o librerie di teoria dei numeri contro un primoriale BigInt affidabile prima di spedire codice numerico.
Domande frequenti
Che cos'è il primoriale n#?
n# è il prodotto di tutti i numeri primi minori o uguali a n. Ad esempio 5# = 2×3×5 = 30 e 10# = 2×3×5×7 = 210. Questo strumento restituisce quel prodotto esatto come stringa decimale.
In che modo il primoriale differisce dal fattoriale?
Il fattoriale n! moltiplica ogni intero positivo fino a n. Il primoriale n# moltiplica solo i primi ≤ n. Entrambi usano la convenzione di prodotto vuoto di 1 quando non c'è nulla da moltiplicare (0! = 1 e 0# = 1# = 1).
Perché il prodotto è una stringa invece di un numero?
I primoriali superano rapidamente gli interi sicuri di JavaScript. Le stringhe decimali mantengono ogni cifra esatta per n grande.
Cosa succede se n è negativo o non è intero?
Il primoriale qui è definito solo per interi non negativi; negativi e decimali sono rifiutati e non addebitati.
Quanto costa?
Lo strumento del browser è gratuito e gira in locale.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/math/primorial \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10}'const res = await fetch("https://api.kit.forhosting.com/math/primorial", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/primorial",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/primorial", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/primorial", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"n": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.primorial",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
min_n | 0 |
max_n | 10000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Lo strumento gratuito del browser e l'API a pagamento condividono un'unica funzione pura, così le demo di classe e le pipeline automatiche non divergono mai in silenzio sullo stesso n.
Come è definito e calcolato il primoriale n#
Restituire il prodotto come stringa decimale mantiene onesti i consumatori JSON: i grandi primoriali escono rapidamente dall'intervallo degli interi sicuri di JavaScript, e un tipo numerico arrotonderebbe in silenzio. I limiti tengono n tra zero e diecimila così la latenza nel caso peggiore resta adatta a uno strumento gratuito nel browser e a un percorso Worker leggero, coprendo al tempo stesso esigenze di gara, aula e pipeline per prodotti esatti di grandi primi.
Cosa invia Lei e cosa riceve indietro
L'errore per n negativo afferma che il primoriale è definito per interi non negativi così i client di form e gli script possono correggere l'input senza indovinare. In caso di successo la risposta include sempre l'n normalizzato, product e value come l'n# esatto scritto in decimale (entrambi i campi portano la stessa stringa di cifre per comodità), primes come l'elenco ordinato dei fattori primi moltiplicati, e count come la lunghezza di quell'elenco che equivale a π(n) per n almeno zero. Fornisca un intero non negativo obbligatorio nel campo n, o gli alias number, value o limit. Il valore deve essere un intero da zero a diecimila inclusi; campi mancanti, non interi, decimali e qualsiasi n sotto zero sono rifiutati con invalid_input e non vengono addebitati. Controlli di esempio: n uguale a zero produce prodotto uno e un elenco di primi vuoto; n uguale a cinque produce prodotto trenta e primi due, tre, cinque; n uguale a dieci produce prodotto duecentodieci; n uguale a tredici produce prodotto trentamila trenta; n uguale a meno uno produce invalid_input; n uguale a tre punto cinque produce invalid_input. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per voce; i fallimenti di validazione non consumano saldo prepagato.
Dove i primoriali esatti compaiono nel lavoro reale
Poiché questa capacità è un motore di parse puro, il prezzo dell'API è la base pubblicata di $0.002 per voce riuscita e la validazione fallita non consuma saldo.
Casi di integrazione
Fixture di gara e compiti
Generi stringhe decimali esatte di n# e elenchi di fattori primi per problemi olimpici, esercizi di programmazione e chiavi di risposta automatiche che rifiutano la deriva in virgola mobile.