Verificatore numeri di Kaprekar
Il 45 è un numero di Kaprekar: 45 al quadrato fa 2025, e 20 più 25 ridà 45. Inserisca un intero positivo per provare tutti i modi di dividere il suo quadrato e vedere la divisione valida, se esiste. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- N
- 45
- Quadrato
- 2025
- Sinistra
- 20
- Destra
- 25
Il verificatore di numeri di Kaprekar risponde a una classica domanda ricreativa di teoria dei numeri: per un intero positivo n, le cifre decimali di n al quadrato possono essere divise in una parte sinistra e una parte destra che sommate tornano a n stesso? Fornisci n e lo strumento restituisce la stringa decimale esatta del quadrato, le parti sinistra e destra vincenti quando esiste una scomposizione valida, e un flag booleano kaprekar che è true esattamente quando viene trovata tale scomposizione. Esempi famosi includono quarantacinque (quarantacinque al quadrato è duemilaventicinque, e venti più venticinque fa quarantacinque) e duecentonovantasette (ottantottomiladuecentonove si scompone come ottantotto più duecentonove). Il motore usa aritmetica BigInt deterministica e una scansione esaustiva dei punti di divisione, così il risultato è privo di derive in virgola mobile e identico a ogni esecuzione. Non chiama mai la rete, non campiona mai casualità e non dipende mai dall'orologio.
Cos'è un numero di Kaprekar e cosa contiene la risposta
Un intero positivo n è un numero di Kaprekar quando la rappresentazione decimale di n al quadrato può essere divisa in due parti contigue — una parte sinistra e una parte destra — tali che quei due interi sommino esattamente a n. La parte destra può iniziare con zeri quando letta come stringa di cifre, ma non deve essere interamente zero; questa regola respinge correttamente numeri come cento, il cui quadrato è diecimila e "funziona" solo se è ammessa una metà destra pari a zero.
Per convenzione consolidata il numero uno è di Kaprekar: uno al quadrato è uno, letto come zero più uno. Nove è di Kaprekar perché ottantuno si scompone come otto più uno. Quarantacinque e cinquantacinque sono gli esempi a due cifre più noti; novantanove, duecentonovantasette e settecentotre compaiono in ogni elenco standard.
Dieci è composto e positivo ma non di Kaprekar: cento non può essere scomposto in parti destre diverse da zero che sommino a dieci. Questo verificatore restituisce l'n interpretato, la stringa esatta square, left e right quando esiste una scomposizione valida (altrimenti null), e kaprekar true se e solo se è stata trovata una scomposizione valida. Gli interi positivi non di Kaprekar sono risposte valide riuscite con kaprekar false; non sono errori.
Se ti serve solo il quadrato di un intero senza il test di scomposizione di Kaprekar, elevalo al quadrato da solo; questa pagina risponde alla domanda sui numeri di Kaprekar con entrambe le parti della scomposizione vincente quando esiste.
Come vengono letti gli input e come la scomposizione del quadrato resta esatta
Il segno più iniziale opzionale è ammesso per valori positivi; spazi incorporati, prefissi esadecimali e notazione esponenziale vengono respinti così che una cella sbagliata non diventi un flag errato. Gli interi negativi e lo zero vengono respinti perché questo verificatore definisce i numeri di Kaprekar su interi positivi a partire da uno. Il motore resta entro gli interi sicuri di JavaScript per l'input, il che è più che sufficiente per problemi in classe, gare di programmazione e la maggior parte delle verifiche applicate su n moderatamente grandi.
L'algoritmo poi percorre ogni indice di divisione da uno fino all'ultima cifra esclusa: per ogni indice legge left come il prefisso intero e right come il suffisso intero, salta i suffissi che sono tutti zeri, e accetta la prima coppia la cui somma è uguale a n. Non c'è alcun passaggio in virgola mobile che potrebbe arrotondare una quasi-corrispondenza in una falsa dichiarazione di Kaprekar.
Dove si usano i controlli di Kaprekar nello studio, nelle dimostrazioni di ricerca e nel codice
Gli studenti incontrano i numeri di Kaprekar esplorando la teoria dei numeri ricreativa, le proprietà basate sulle cifre e le curiosità intitolate a D. R. Kaprekar insieme alla costante di Kaprekar seimilacentosettantaquattro dalla sua routine sui riarrangiamenti a quattro cifre. Gli insegnanti possono generare chiavi di risposta per schede di esercizi senza fidarsi di app di calcolo opache che nascondono il passaggio di quadrato e scomposizione.
Gli sviluppatori usano lo stesso contratto per validare dati campione per librerie di teoria dei numeri, per bloccare test di proprietà su generatori di interi casuali, o per pre-verificare che un seme rientri nella classe di Kaprekar prima di un passaggio dimostrativo. La pratica in gare ha spesso bisogno di una fonte veloce e offline di risposte di Kaprekar così le soluzioni possono essere verificate senza scaricare tabelle OEIS.
Abbinalo a un verificatore di numeri di Smith quando ti servono somme di cifre dei fattori primi, a un verificatore di numeri abbondanti quando ti serve la classificazione per somma di divisori, e alla fattorizzazione in primi quando ti servono potenze prime invece di scomposizioni del quadrato.
Casi d'uso
Classificazione per compiti a casa e gare
Decidi se interi positivi sono numeri di Kaprekar per schede di esercizi e verifiche di gara verificando la somma della scomposizione del quadrato senza moltiplicazione lunga manuale.
Insegnare le curiosità della scomposizione del quadrato
Mostra agli studenti come le cifre di n al quadrato si ricombinano in n mentre modificano n dal vivo nel browser senza costi.
Domande frequenti
Cosa succede se n è sotto 1?
I numeri di Kaprekar sono definiti qui solo per interi positivi n ≥ 1.
Come si calcola il test di Kaprekar?
Eleva n al quadrato con aritmetica BigInt esatta, poi prova ogni scomposizione decimale del quadrato in parte sinistra e destra. Accetta la prima scomposizione dove la parte destra non è tutta zeri e left + right è uguale a n. Il numero 1 è di Kaprekar per convenzione (0 + 1).
L'algoritmo è randomizzato?
No. Usa elevamento al quadrato BigInt deterministico e una scansione esaustiva delle scomposizioni. Lo stesso n produce sempre lo stesso quadrato, le stesse parti e lo stesso flag kaprekar.
100 è un numero di Kaprekar?
No. Sebbene 100² = 10000 e 100 + 00 = 100, la parte destra è interamente zero, il che non è ammesso. Il verificatore restituisce correttamente kaprekar false.
Perché 45 è un numero di Kaprekar?
Perché 45 al quadrato fa 2025, che si può dividere in 20 e 25. Sommando le due parti si ottiene di nuovo 45. Lo strumento mostra entrambe le parti accanto al risultato.
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/kaprekar-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":45}'const res = await fetch("https://api.kit.forhosting.com/numth/kaprekar-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 45
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/kaprekar-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 45
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/kaprekar-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":45}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":45}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/kaprekar-number", 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": 45
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.kaprekar_number",
"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
Usalo gratis nel browser per compiti a casa, preparazione a gare ed esplorazione in stile OEIS, oppure chiama l'API a $0.002 per richiesta riuscita quando automatizzi pipeline di classificazione, script di correzione o dimostrazioni didattiche che richiedono risposte di Kaprekar riproducibili.
Cos'è un numero di Kaprekar e cosa contiene la risposta
Campi mancanti, valori non interi, frazioni, notazione scientifica, valori fuori dall'intervallo di interi sicuri e qualunque n sotto uno falliscono con invalid_input e un messaggio chiaro.
Come vengono letti gli input e come la scomposizione del quadrato resta esatta
Il campo preferito è n come intero JSON, ma sono accettate anche stringhe decimali e gli alias number o value, così che moduli, fogli di calcolo e stringhe di query possano riusare un unico contratto. Internamente il quadrato viene calcolato con BigInt così che anche quando n si avvicina al tetto degli interi sicuri le cifre decimali di n al quadrato restano esatte e non passano mai attraverso double IEEE.
Dove si usano i controlli di Kaprekar nello studio, nelle dimostrazioni di ricerca e nel codice
In questa pagina il lavoro gira interamente nel tuo browser; tramite l'API ogni ricerca riuscita costa $0.002, la validazione fallita non viene addebitata e nulla viene conservato dopo la restituzione della risposta. Questa distinzione — esplorazione interattiva gratuita e API a pagamento identica — corrisponde al resto del catalogo tier A del KIT e ti permette di passare da una dimostrazione in classe a una pipeline automatizzata senza cambiare il risultato matematico.
Casi di integrazione
Fixture di test deterministiche
Genera casi riproducibili di Kaprekar e non-Kaprekar per test unitari, verifiche di proprietà e asserzioni CI senza incorporare dump OEIS statici.
Domande tecniche
Quanto costa il verificatore di numeri di Kaprekar?
È gratuito nel browser su questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli input non validi non vengono addebitati.