Verifica numero primo
Verifica se un intero è primo e, se non lo è, mostra il più piccolo divisore che lo dimostra: 97 risulta primo, senza alcun divisore. I fattori piccoli compaiono subito e i primi grandi vengono confermati da un test fisso ed esatto. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
La verifica di numero primo decide se un intero n è primo e, quando non lo è, restituisce il divisore minimo che dimostra che il numero è composto. Combina la classica divisione per tentativi con un test deterministico di Miller–Rabin, così i fattori piccoli emergono immediatamente e i primi grandi vengono confermati senza una ricerca esaustiva di ogni candidato fino alla radice quadrata. Lei invia un singolo numero intero maggiore o uguale a due e riceve un chiaro flag di primalità, l'n originale e null oppure il divisore minimo—aritmetica deterministica senza testimoni casuali e senza consultazione di rete.
Come divisione per tentativi e Miller–Rabin lavorano insieme
La divisione per tentativi è la tecnica di primalità più antica: verifica se candidati successivi dividono n, partendo da due e tre e continuando lungo una ruota a sei passi che controlla solo i numeri della forma 6k±1. Non appena appare un divisore, il numero è composto e quel divisore è il minimo—esattamente ciò di cui hanno bisogno molti strumenti didattici, problemi di programmazione e controlli di qualità dei dati.
Quando n è modesto, completare i tentativi fino alla radice quadrata intera è sufficiente anche a dimostrare la primalità, perché ogni composto ha un fattore al più pari alla sua radice quadrata. Per interi più grandi la verifica prima esplora i fattori piccoli con lo stesso ciclo di tentativi, poi esegue una suite deterministica di Miller–Rabin con basi fisse note per decidere correttamente la primalità di ogni intero nell'intervallo sicuro di JavaScript. Se Miller–Rabin riporta primo dopo che nessun fattore piccolo è stato trovato, il risultato è primo.
Dove usare una verifica di numero primo nei flussi di lavoro reali
Educatori e studenti usano una verifica di numero primo affidabile per controllare i compiti, generare controesempi e mostrare perché un numero fallisce esibendo il suo divisore minimo invece di un semplice false. Gli sviluppatori di applicazioni la chiamano quando una chiave di prodotto, un seme di puzzle o un parametro crittografico giocattolo deve avere forma prima di procedere, intercettando refusi come valori pari o multipli evidenti senza allestire un intero sistema di algebra computazionale.
Gli ingegneri di dati filtrano colonne numeriche negli import: qualsiasi presunto "identificatore primo" che fallisce qui viene rifiutato presto con un fattore concreto per il log di audit. Preferisca questo strumento quando la domanda è rigorosamente "n è primo, e se no qual è il divisore minimo?"—non quando le serve una fattorizzazione completa, certificati di primalità per interi enormi da migliaia di bit, o test probabilistici con liste di testimoni personalizzate.
Casi d'uso
Compiti e demo didattiche
Mostri agli studenti se un numero è primo e visualizzi immediatamente il divisore minimo quando è composto, così il modo di fallimento è concreto anziché astratto.
Validare valori di configurazione a forma di primo
Rifiuti parametri pari o palesemente composti in chiavi di prodotto, semi di puzzle o impostazioni crittografiche giocattolo prima che entrino in una pipeline più lunga.
Auditare colonne numeriche che dichiarano di essere primi
Scansioni un import di presunti identificatori primi, segnali i composti e alleghi il divisore minimo alla traccia di audit per ogni riga che fallisce.
Domande frequenti
Quanto costa?
La stessa verifica gira anche gratis nel suo browser in questa pagina.
Quali numeri sono accettati?
Interi maggiori o uguali a 2, fino al massimo intero sicuro pubblicato.
Il test di Miller–Rabin è probabilistico qui?
No. Le basi sono fisse e deterministiche per ogni intero nell'intervallo supportato, così lo stesso n produce sempre lo stesso risultato.
Questo fattorizza completamente n?
No. Riporta solo se n è primo e, quando è composto, il singolo divisore minimo—non l'elenco completo dei fattori primi.
Perché compare un divisore quando il numero non è primo?
Il più piccolo divisore maggiore di 1 è la prova che il numero è composto. Qualsiasi numero pari maggiore di 2, ad esempio, restituisce 2, così vede esattamente perché non è primo invece di un semplice no.
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/numth/prime-checker \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":97}'const res = await fetch("https://api.kit.forhosting.com/numth/prime-checker", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 97
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/prime-checker",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 97
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/prime-checker", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":97}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":97}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/prime-checker", 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": 97
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.prime_checker",
"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.
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
Cosa restituisce la verifica e quando rifiuta l'input
Ogni chiamata riuscita risponde a tre domande correlate contemporaneamente: n è primo, quale valore è stato testato e—se il numero è composto—qual è il più piccolo divisore positivo maggiore di uno. Quella prevedibilità conta quando collega la verifica in un modulo, uno strumento CLI o una pipeline in blocco che deve fermarsi sui dati errati anziché inventare una risposta. La risposta è un piccolo oggetto JSON con un flag booleano prime, l'intero n restituito come numero, il campo smallest_divisor (null per i primi, un intero concreto per i composti) e un'etichetta method che registra se la decisione è venuta principalmente dalla divisione per tentativi o da Miller–Rabin. L'input mancante, frazionario, non numerico o strettamente minore di due viene rifiutato con invalid_input prima che venga eseguita qualsiasi aritmetica, così un valore in virgola mobile come 9,5 o uno zero non produce mai un'affermazione di primalità fuorviante. Le stesse regole si applicano nel percorso gratuito del browser e nell'API: un contratto, un insieme di messaggi di errore e lo stesso risultato strutturato. Usi questo endpoint ogni volta che le serve un sì-o-no verificabile sulla primalità più un fattore esplicativo, non un'ipotesi probabilistica o una lunga fattorizzazione di ogni divisore.
Come divisione per tentativi e Miller–Rabin lavorano insieme
Se riporta composto, la divisione per tentativi continua dal limite precedente finché il fattore minimo viene recuperato, così l'API non dice mai "composto" senza nominare anche il divisore minimo.
Dove usare una verifica di numero primo nei flussi di lavoro reali
Poiché la capacità è tier A, può incollare un numero in questa pagina ed eseguire la logica identica gratis nel browser; automatizzi lo stesso contratto in seguito a $0.002 per richiesta quando collega attività in stile POST in script o SDK. Mantenga n un intero di almeno due entro l'intervallo sicuro pubblicato, tratti invalid_input come una correzione del client anziché un nuovo tentativo, e memorizzi il campo method restituito se deve spiegare quale percorso algoritmico ha deciso il caso.
Domande tecniche
Cosa viene restituito per un numero composto?
prime è false e smallest_divisor è il più piccolo intero maggiore di 1 che divide n. Per i primi, smallest_divisor è null.