ForHosting KIT · Matematica

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
Usalo da WebAPIEmailTelegramApp presto

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.

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.

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.

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.

POSThttps://api.kit.forhosting.com/numth/prime-checker

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/numth/prime-checker \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":97}'
{
  "n": 97
}
{
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

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.

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.

Leggi la documentazione completa del KIT →