Indice Calkin-Wilf
La frazione 3/2 è la 5ª della successione di Calkin-Wilf, due livelli sotto la radice 1/1. Inserisca una frazione ridotta con numeratore e denominatore da 1 a un milione e ottenga la sua posizione esatta e la profondità. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- A
- 3
- B
- 2
- Frazione
- 3/2
- Indice
- 5
- Profondità
- 2
- Gcd
- 1
L'albero di Calkin-Wilf elenca ogni numero razionale positivo esattamente una volta come frazione ridotta a su b. Chi studia matematica discreta, combinatoria enumerativa e frazioni continue spesso ha bisogno dell'indice di una data frazione in quella successione: l'etichetta in ampiezza del nodo dell'albero che porta a/b. Questa capacità accetta due interi positivi a e b, verifica che la frazione sia già ai minimi termini e restituisce l'indice Calkin-Wilf a base uno insieme alla profondità del cammino dalla radice uno-su-uno.
Cosa assegna la successione di Calkin-Wilf a ogni frazione ridotta
L'albero di Calkin-Wilf è un albero binario radicato la cui radice è etichettata uno su uno. Il figlio sinistro di un nodo etichettato a su b è a su a più b, e il figlio destro è a più b su b. Ogni razionale positivo compare in esattamente un nodo quando scritto ai minimi termini, ed è per questo che l'enumerazione è un elenco perfetto di Q-plus e non un percorso multivalore tra equivalenti come due quarti.
Leggere l'albero nell'ordine naturale di heap — indice della radice uno, figlio sinistro di n in due n, figlio destro in due n più uno — produce la successione di Calkin-Wilf: uno su uno, uno su due, due su uno, uno su tre, tre su due, due su tre, tre su uno, e così via.
Dato un paio ridotto a e b, questo strumento ricostruisce il cammino unico da a su b fino alla radice applicando ripetutamente la regola del genitore: se a è minore di b il nodo era figlio sinistro e il genitore è a su b meno a; se a è maggiore di b era figlio destro e il genitore è a meno b su b. Codificare quel cammino come indice binario recupera la posizione nella successione senza generare l'intero albero.
La profondità è il numero di archi dalla radice, utile quando interessa l'altezza più che l'etichetta binaria densa.
Dove torna utile l'indice Calkin-Wilf
I corsi di matematica discreta e le piattaforme di preparazione ai concorsi usano un calcolatore di indice Calkin-Wilf affinché chi impara possa controllare la posizione di razionali ridotti arbitrari senza disegnare grandi alberi a mano. I taccuini di ricerca che studiano rappresentazioni iperbinarie, mappe legate al punto interrogativo di Minkowski o biiezioni tra N e Q-plus necessitano di un oracolo deterministico che rifiuti l'input non ridotto anziché semplificare in silenzio e discostarsi dalla definizione del testo.
Poiché l'implementazione è parse di livello A pura, ogni chiamata riuscita evita token di modello e rete in uscita.
Casi d'uso
Controlli in classe e compiti
Consenta agli studenti di inviare a e b ridotti e di verificare l'indice Calkin-Wilf a base uno e la profondità del cammino rispetto ai disegni del libro di testo.
Esami e valutazione automatica LMS
Valuti le voci sull'indice Calkin-Wilf con un oracolo deterministico che rifiuta le frazioni non ridotte invece di semplificarle in silenzio.
Taccuini di ricerca e demo di biiezione
Mappi i razionali positivi sui naturali tramite l'etichettatura Calkin-Wilf negli script senza incorporare una libreria completa di algebra computazionale.
Domande frequenti
Come ottengo l'indice Calkin-Wilf di una frazione a/b?
Invii interi positivi a e b con gcd(a,b)=1.
Cosa succede se la frazione non è ai minimi termini?
Le etichette Calkin-Wilf sono uniche per i positivi ridotti; l'input non ridotto viene rifiutato e non addebitato. Riduca prima, poi riprovi.
L'indice è a base zero o a base uno?
A base uno: 1/1 ha indice 1, 1/2 ha indice 2, 2/1 ha indice 3, secondo la numerazione abituale a heap dell'albero.
In che modo differisce dall'albero di Stern-Brocot?
Entrambi gli alberi enumerano i positivi, ma le regole dei figli e l'ordine differiscono.
Che cosa indica la profondità di una frazione?
Conta i passi dalla radice 1/1 fino alla frazione. La frazione 3/2 ha profondità 2, perché è il figlio destro di 1/2, che a sua volta è il figlio sinistro della radice.
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/calkin-wilf-index \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":3,"b":2}'const res = await fetch("https://api.kit.forhosting.com/numth/calkin-wilf-index", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 3,
"b": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/calkin-wilf-index",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 3,
"b": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/calkin-wilf-index", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":3,"b":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":3,"b":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/calkin-wilf-index", 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
{
"a": 3,
"b": 2
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.calkin_wilf_index",
"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
Gli input non ridotti falliscono con invalid_input affinché la biiezione tra posizioni e positivi ridotti resti esatta.
Cosa assegna la successione di Calkin-Wilf a ogni frazione ridotta
Poiché la mappa è biiettiva sui positivi ridotti, chiedere l'indice di una frazione non ridotta romperebbe l'unicità; l'API rifiuta quindi un gcd maggiore di uno invece di ridurre in silenzio e restituire la posizione di un'altra etichetta.
Contratto di input, forma della risposta e comportamento di errore
Dopo il parsing, il gestore calcola il gcd di a e b; se quel gcd non è esattamente uno, l'attività fallisce con un messaggio che afferma che la frazione non è ai minimi termini e suggerisce la forma ridotta a diviso g su b diviso g. Quel fallimento non viene addebitato. Esempio: a uguale a tre e b uguale a due produce la frazione tre su due, indice cinque e profondità due, perché tre su due è il figlio destro di uno su due, che è il figlio sinistro della radice. Invii con POST un corpo JSON con due interi positivi obbligatori: a, il numeratore, e b, il denominatore. Sono accettati gli alias numerator, num e p per a; denominator, den e q per b. Ogni campo può arrivare come numero JSON o come stringa decimale intera; zeri iniziali, frazioni, notazione scientifica, zero e negativi falliscono con invalid_input indicando il campo. I valori devono stare tra uno e un milione inclusi così il costo del percorso resta limitato sul Worker. In caso di successo il corpo ripete a e b, una stringa di frazione come tre barra due, l'indice come numero JSON quando entra nell'intervallo degli interi sicuri o come stringa decimale altrimenti, la profondità del cammino dalla radice, gcd uguale a uno e una breve formula che ribadisce le regole di figlio sinistro e destro. Abbini la risposta al proprio disegno dell'albero se serve uno schema; questo endpoint restituisce solo indice e profondità e non emette elenchi di genitori intermedi oltre a quanto Lei può ricalcolare con le stesse regole.
Dove un'API di indice Calkin-Wilf rende conto di sé
I generatori di curricula e i correttori automatici LMS possono valutare voci che chiedono l'indice di tre mezzi o cinque ottavi con una sola chiamata API al prezzo base pubblicato $0.002, con i casi di gcd non valido non addebitati.
Domande tecniche
Quanto costa il calcolatore di indice di frazione Calkin-Wilf?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.