Scomposizione in fattori primi
Scomponga qualsiasi numero intero da 2 in su nei suoi fattori primi: 360 è 2³ · 3² · 5, cioè 2, 2, 2, 3, 3 e 5 uno per uno. Le due forme compaiono insieme, pronte per controllare i compiti o rimoltiplicare. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Intero da fattorizzare
- 360
- Fattori
- 2, 2, 2, 3, 3, 5
La scomposizione in fattori primi riscrive un numero intero come prodotto di potenze di primi. Dato un qualsiasi intero n maggiore o uguale a due, questa capacità restituisce ogni primo con il suo esponente e un elenco piatto di fattori primi in ordine crescente. Il risultato è una divisione per tentativi deterministica senza chiamate di rete, senza casualità e senza inferenza di modelli. La usi per verifiche dei compiti, dimostrazioni didattiche legate alla crittografia, colloqui di programmazione o pipeline che necessitano di una scomposizione leggibile dalla macchina senza installare un CAS.
Cosa restituisce la scomposizione in fattori primi e perché entrambe le forme contano
Ogni intero maggiore di uno ha un unico multiinsieme di fattori primi, a meno dell'ordine: è il teorema fondamentale dell'aritmetica. La forma compatta raggruppa i primi ripetuti in coppie con esponente, così 360 diventa 2^3 · 3^2 · 5^1 invece di un lungo prodotto. La forma piatta espande la stessa scomposizione in un elenco ordinato come [2, 2, 2, 3, 3, 5], comodo quando deve moltiplicare i fattori tra loro, alimentare un passo di crivello o visualizzare ogni primo separatamente in un'interfaccia.
Questa capacità restituisce entrambe le viste in un'unica risposta: factorization è un array di oggetti con campi interi prime ed exp, e factors è l'elenco espanso crescente. L'n originale viene riecheggiato affinché il chiamante possa verificare l'uguaglianza di andata e ritorno moltiplicando i primi elevati ai loro esponenti. Nulla è lasciato alle impostazioni locali, alla formattazione in virgola mobile o agli orologi lato server; si usa solo aritmetica sugli interi finché la scomposizione non è completata.
Usi pratici nell'istruzione, nell'ingegneria e nell'automazione
Insegnanti e studenti usano la scomposizione in fattori primi per verificare i compiti, illustrare l'unicità della fattorizzazione e confrontare i risultati fatti a mano con un oracolo automatico. Gli sviluppatori software incorporano la chiamata in script di valutazione, giudici di sfide di programmazione e test di proprietà che verificano che il prodotto di p^e sia uguale a n.
I team di dati talvolta necessitano di metriche come il radicale o omega(n), che contano i primi distinti o la molteplicità totale dei primi, e che derivano dagli array restituiti senza reimplementare la scomposizione. I laboratori di formazione su sicurezza e CTF mostrano come un piccolo n si fattorizzi all'istante mentre i grandi semiprimi no, ribadendo perché i moduli RSA debbano essere enormi; questo strumento è volutamente limitato agli interi sicuri, così insegna il concetto senza fingere di essere un servizio completo di fattorizzazione di interi.
Casi d'uso
Verifiche di compiti e ripetizioni
Gli studenti inviano n e confrontano i primi e gli esponenti restituiti con la loro scomposizione scritta a mano prima di consegnare il lavoro.
Valutazione automatica e colloqui di programmazione
I giudici moltiplicano p^e dalla risposta e verificano l'uguaglianza con n, individuando esponenti sbagliati di uno senza rumore in virgola mobile.
Dimostrazioni didattiche di teoria dei numeri
Mostri dal vivo l'unicità della fattorizzazione: scelga composti, primi e potenze di primi, poi visualizzi la forma compatta e quella piatta affiancate.
Domande frequenti
Qual è la scomposizione in fattori primi di un numero?
È l'unico prodotto di potenze di primi che, moltiplicate, danno di nuovo quell'intero. Ad esempio, 12 = 2^2 · 3, restituito qui come coppie in factorization e come elenco piatto [2, 2, 3].
Quali dati accetta questo calcolatore?
Solo numeri interi n maggiori o uguali a 2, entro l'intervallo degli interi sicuri di JavaScript.
Qual è la differenza tra factorization e factors?
factorization raggruppa ogni primo con il suo esponente ({prime, exp}). factors espande quelle potenze in un multiinsieme ordinato di interi primi.
Lo strumento fattorizza i moduli crittografici?
No. Usa la divisione per tentativi su interi sicuri e rifiuta un n sovradimensionato. È per l'istruzione, gli strumenti e gli interi ordinari, non per moduli su scala RSA.
Che cosa ottengo se il numero è già primo?
Ottiene il numero stesso con esponente uno, perché un primo non ha altri fattori. L'elenco contiene allora un solo elemento, il che conferma a colpo d'occhio che il numero è primo.
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/prime-factorization \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":360}'const res = await fetch("https://api.kit.forhosting.com/math/prime-factorization", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 360
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/prime-factorization",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 360
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/prime-factorization", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":360}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":360}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/prime-factorization", 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": 360
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.prime_factorization",
"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
Il prezzo dell'API è una tariffa fissa di $0.002 per richiesta riuscita; i dati non validi vengono respinti senza addebito.
Come richiamarla e quali dati sono accettati
Il valore deve essere un numero intero finito maggiore o uguale a due. Non c'è un flag di modalità opzionale: l'output include sempre sia la scomposizione compatta sia l'elenco piatto factors. La divisione per tentativi estrae prima il due, poi percorre i candidati dispari fino alla radice quadrata del cofattore residuo, così i numeri composti con piccoli fattori primi terminano rapidamente e un n primo restituisce semplicemente una singola coppia con esponente uno. Invii un oggetto JSON con un unico campo richiesto n. Gli interi possono arrivare come numeri JSON o come stringhe di sole cifre che si convertono nello stesso valore intero; booleani, array, oggetti, frazioni, NaN, Infinity e valori inferiori a due vengono respinti con invalid_input e un messaggio chiaro. I numeri più grandi del massimo intero sicuro di JavaScript vengono rifiutati affinché i risultati restino esatti nei double in virgola mobile IEEE usati dal worker. Per dimostrazioni in aula o via API, inizi con composti medi come 360, 1001 o interi sicuri in stile 9876543210 anziché moduli di dimensione crittografica, che questo percorso di parsing tier-A non è progettato per attaccare. Una validazione fallita non consuma mai il saldo prepagato; solo le scomposizioni riuscite addebitano la tariffa base pubblicata di $0.002.
Usi pratici nell'istruzione, nell'ingegneria e nell'automazione
Poiché il browser e l'API condividono la stessa funzione pura, può prototipare nell'interfaccia web gratuita e promuovere il contratto identico ai worker di produzione. Documenti la forma della risposta una volta, poi la riusi in SDK, notebook e automazioni no-code che necessitano solo di una scomposizione JSON stabile anziché di un pacchetto di algebra simbolica.
Domande tecniche
Quanto costa l'API?
Le richieste riuscite costano la tariffa base pubblicata di $0.002 per elemento. Gli errori di input non valido non vengono addebitati. Lo strumento nel browser resta gratuito per l'uso interattivo.