Calcolatore del primo di casa tramite fattorizzazione
Il 12 si fattorizza come 2 × 2 × 3; accostando queste cifre si ottiene 223, che è primo, quindi il primo di casa di 12 è 223. Inserisca un valore iniziale da 2 a mille miliardi per vedere l’intera catena. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- N
- 12
- Primo di casa
- 223
- Iterazioni
- 1
- Sequenza
- 12, 223
Un primo di casa si ottiene fattorizzando un intero composto, scrivendone i fattori primi in ordine crescente senza separatori e ripetendo l’operazione fino a raggiungere un numero primo. Questo calcolatore esegue esattamente tale sequenza, mostra tutti gli interi intermedi e indica quante trasformazioni sono state necessarie. Applica inoltre limiti espliciti alle iterazioni e all’aritmetica, così una sequenza difficile o eccessivamente lunga restituisce un errore chiaro invece di consumare risorse senza limite.
Come la concatenazione dei fattori crea la sequenza
Parta da un intero maggiore di uno. Se è già primo, coincide con il proprio primo di casa e il calcolo termina con zero iterazioni. Altrimenti lo scomponga completamente in fattori primi, conservi i fattori ripetuti e li disponga dal minore al maggiore.
Elimini i segni di moltiplicazione e gli spazi, quindi legga le cifre decimali adiacenti come il nuovo intero. Per esempio, dodici si scompone in due per due per tre e il valore successivo è 223. Poiché 223 è primo, la sequenza termina dopo una trasformazione.
L’ordine è fondamentale: la procedura standard usa fattori non decrescenti e rende il risultato riproducibile. La risposta contiene il primo finale come stringa decimale, il numero di trasformazioni e l’intera sequenza a partire dal valore fornito. Le stringhe decimali mantengono esatti anche gli interi che superano l’intervallo numerico sicuro del browser.
Nessuna casualità, interrogazione esterna o tabella memorizzata determina la risposta.
Come interpretare limiti ed errori
Le traiettorie dei primi di casa possono crescere rapidamente e alcuni valori iniziali generano composti molto più difficili da fattorizzare dell’input originale. L’esecuzione limitata è quindi parte del contratto matematico del calcolatore. L’intero iniziale deve essere compreso tra due e mille miliardi, mentre ogni valore generato deve restare nell’intervallo senza segno a 64 bit supportato.
Lei può scegliere un massimo da una a venti iterazioni; il valore predefinito è venti. Se la sequenza non raggiunge un primo entro tale numero, la richiesta restituisce un errore di input non valido che segnala il superamento del limite sicuro. Un errore separato indica che la fattorizzazione o un valore intermedio ha superato la relativa protezione.
Questi esiti non dimostrano che il primo di casa non esista: indicano soltanto che la traiettoria non è stata completata nell’ambito computazionale pubblicato. Aumentare un limite ridotto può aiutare, ma non aggira le protezioni aritmetiche.
Come leggere e verificare il risultato
Usi la sequenza come traccia di controllo, invece di considerare il numero finale una risposta priva di spiegazione. Ogni coppia di elementi adiacenti rappresenta un’operazione completa: fattorizzare il composto precedente, ordinare i fattori primi, concatenarne le forme decimali e ottenere il valore seguente. Il campo delle iterazioni equivale al numero di transizioni ed è sempre inferiore di uno alla lunghezza della sequenza.
L’ultimo elemento coincide con il primo di casa e ha superato un test deterministico di primalità adatto al dominio supportato a 64 bit. Nel confronto con un altro programma, controlli che mantenga le molteplicità, ordini numericamente e concateni senza separatori. Un esito positivo prova il completamento entro i limiti; un errore tipizzato segnala in modo stabile una restrizione di risorse.
Casi d'uso
Esplorare la matematica ricreativa
Segua l’evoluzione di un composto attraverso concatenazioni successive e ne scopra il primo terminale.
Creare esempi didattici verificabili
Usi la sequenza completa per illustrare fattorizzazione, molteplicità, ordine, concatenazione e primalità.
Verificare un’altra implementazione
Confronti ogni stringa intermedia e il conteggio delle iterazioni con un riferimento deterministico.
Domande frequenti
È ammesso un numero primo come input?
Sì. Viene restituito come proprio primo di casa, con zero iterazioni e una sequenza di un elemento.
Un errore di limite significa che il primo di casa non esiste?
No. Indica solo che la sequenza non è terminata entro il massimo scelto o l’intervallo computazionale supportato.
Come vengono gestiti i fattori ripetuti?
Ogni occorrenza viene mantenuta. Per esempio, dodici usa i fattori 2, 2 e 3 e produce 223.
Qual è il primo di casa di 12?
È 223. Il 12 si scompone in 2, 2 e 3; scritti uno accanto all’altro in ordine crescente formano 223, che è già primo, quindi la catena finisce dopo un solo passaggio.
Perché conta l’ordine dei fattori?
Perché accostare gli stessi fattori in un altro ordine produce un altro numero. Il procedimento standard scrive sempre i primi dal più piccolo al più grande, così chi parte dallo stesso valore ottiene la stessa catena.
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/home-prime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/home-prime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/home-prime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/home-prime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/home-prime", 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": 12
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.home_prime",
"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
max_iterations | 20 |
max_n | 1000000000000 |
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
Come leggere e verificare il risultato
Nell’automazione API, tratti i risultati come stringhe per evitare perdite di precisione.
Domande tecniche
Quanto costa il calcolatore?
Ogni richiesta API costa $0.002; la versione browser esegue localmente la medesima logica deterministica.
Perché i valori di output sono stringhe?
Gli interi intermedi possono superare l’intervallo esatto di JavaScript; le stringhe decimali conservano ogni cifra in JSON.