Bit Thue-Morse
La posizione 7 in binario è 111, con tre uno, quindi il suo bit di Thue-Morse è 1. Inserisca una posizione non negativa per vedere la forma binaria, quanti uno contiene e lo 0 o 1 risultante. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- N
- 7
- Binario
- 111
- Numero di uni
- 3
- Bit di Thue-Morse
- 1
La sequenza di Thue-Morse è la classica successione binaria priva di sovrapposizioni costruita prendendo ogni intero non negativo n e scrivendo la parità di quanti uni compaiono nella sua espansione binaria. L'indice zero vale zero (il binario zero non ha uni), l'indice uno vale uno, l'indice due vale uno, l'indice tre vale zero, e così via, producendo il blocco familiare 0, 1, 1, 0, 1, 0, 0, 1. Studenti di combinatoria delle parole, corsi di teoria dei codici e ricerca sulle successioni automatiche necessitano di una risposta rapida e deterministica per un indice intero sicuro arbitrario senza implementare contatori di bit propri.
Cos'è il bit di Thue-Morse e perché lo definisce popcount mod 2
La sequenza infinita di Thue-Morse t(0), t(1), t(2), … è definita da t(n) uguale alla somma delle cifre binarie di n presa modulo due. In modo equivalente, t(n) è zero quando n ha un numero pari di bit a uno e uno quando quel conteggio è dispari. Quella definizione è esattamente il population-count (popcount) di n ridotto modulo due, così a runtime non serve un morfismo ricorsivo né una costruzione di piegatura della carta: converta n in base due, conti gli uni e prenda la parità.
La sequenza è priva di cubi e priva di sovrapposizioni, ecco perché compare in combinatoria delle parole, nelle costruzioni di successioni automatiche e in semplici dimostrazioni di stringhe binarie aperiodiche. Poiché la mappa dipende solo dagli uni binari di un singolo intero non negativo, la risposta è unica, senza effetti collaterali e identica in ogni linguaggio che implementi il popcount intero allo stesso modo.
Gli indici negativi restano fuori dalla definizione standard usata qui: la sequenza è indicizzata dagli interi non negativi, quindi un n negativo viene rifiutato invece di essere ripiegato in schemi in complemento a due che confonderebbero le aspettative in aula.
Casi d'uso
Valutazione automatica LMS ed esami
Valuti gli item sulla sequenza di Thue-Morse con un oracolo deterministico che rifiuta n negativo e non inventa mai bit da schemi in complemento a due.
Notebook e demo di bit aperiodici
Campioni t(n) in notebook di teoria dei codici o combinatoria senza importare un'intera libreria di algebra computazionale per un controllo di parità di un bit.
Domande frequenti
Come si calcola l'n-esimo bit di Thue-Morse?
t(n) è la parità del numero di uni nella forma binaria di n: conti i bit 1 (popcount) e riduca modulo 2.
Cosa succede se n è negativo?
La sequenza è indicizzata dagli interi non negativi; n negativo viene rifiutato e non viene addebitato.
È lo stesso di un bit di parità su una stringa di bit?
Idea correlata, ingresso diverso. Qui l'ingresso è l'indice intero n; il bit è popcount(n) mod 2. Uno strumento generico di bit di parità opera su una stringa di bit arbitraria che Lei fornisce.
Qual è il bit di Thue-Morse in posizione 7?
È 1. Il sette in binario si scrive 111, che contiene tre uno. Tre è dispari, e un numero dispari di uno dà sempre 1, mentre un numero pari dà 0.
Quali sono i primi termini della sequenza di Thue-Morse?
Dalla posizione zero la sequenza inizia con 0, 1, 1, 0, 1, 0, 0, 1 e prosegue con 1, 0, 0, 1, 0, 1, 1, 0. Ogni blocco è il precedente seguito dalla sua copia invertita.
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/thue-morse \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":7}'const res = await fetch("https://api.kit.forhosting.com/numth/thue-morse", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/thue-morse",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/thue-morse", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/thue-morse", 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": 7
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.thue_morse",
"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
Questa capacità accetta n, restituisce la stringa binaria, il conteggio degli uni e l'unico bit di Thue-Morse t(n), e rifiuta n negativo con invalid_input affinché i correttori automatici non trattino mai un indice negativo come posizione valida della sequenza.
Cos'è il bit di Thue-Morse e perché lo definisce popcount mod 2
I primi sedici termini illustrano lo schema: per n da zero a quindici i bit sono 0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0. Quando Le serve il bit per un valore concreto di compito — ad esempio n uguale a sette, binario uno-uno-uno, tre uni, parità uno — questo endpoint restituisce quel bit insieme alla stringa binaria intermedia e al conteggio degli uni così gli studenti possono verificare la parità passo dopo passo.
Contratto di ingresso, campi di risposta e comportamento sugli errori
Un n negativo fallisce con un messaggio chiaro che n deve essere non negativo; tali errori di validazione non vengono addebitati. Invii con POST un corpo JSON con un unico campo obbligatorio n: un intero non negativo, come numero JSON oppure come stringa di cifre decimali che stia negli interi sicuri di JavaScript. n mancante, stringhe vuote, non interi, numeri non finiti e valori fuori dall'intervallo degli interi sicuri falliscono con invalid_input indicando il problema. In caso di successo il corpo riecheggia n, fornisce binary come la stringa in base due senza prefisso 0b (zero produce il solo carattere 0), ones_count come il numero di bit a uno, thue_morse_bit come 0 o 1, e una breve stringa formula che riafferma t(n) uguale a popcount(n) mod 2. Esempio: n uguale a sette produce binary 111, ones_count tre e thue_morse_bit uno. Esempio: n uguale a zero produce binary 0, ones_count zero e thue_morse_bit zero. Esempio: n uguale a tre produce binary 11, ones_count due e thue_morse_bit zero. I client che servono solo il bit possono ignorare i campi diagnostici; tutor e correttori possono mostrare binary e ones_count accanto alla risposta affinché gli studenti vedano perché la parità è cambiata. L'implementazione è parse pura di livello A: nessuna rete, nessun token di modello, nessun filesystem, e lo stesso modulo può girare nel percorso gratuito del browser e sul Worker di edge senza divergere nei risultati.
Dove un'API del bit di Thue-Morse dimostra il suo valore
Le dimostrazioni di teoria dei codici e di segnale digitale a volte campionano bit di Thue-Morse come sorgente binaria aperiodica deterministica per illustrare la discrepanza o analogie di piegatura della carta. I corsi di combinatoria e matematica discreta usano la sequenza di Thue-Morse per insegnare successioni automatiche, morfismi e parole prive di cubi; una piccola API consente ai plugin LMS di verificare le risposte degli studenti per n arbitrario senza consegnare un pacchetto simbolico completo. I notebook di ricerca che necessitano di un oracolo rapido di t(n) esplorando costanti di piegatura o somme legate a Prouhet–Thue–Morse possono chiamare questo endpoint invece di incollare trucchi di bit ad hoc che divergono su zero e su grandi interi sicuri. Poiché ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita, la validazione fallita non consuma saldo e l'algoritmo è un pugno di operazioni sui bit, ottiene bit riproducibili per compiti, valutazione e worker di edge senza erigere un'infrastruttura più pesante di teoria dei numeri. Tenga le richieste piccole, documenti che n è un intero sicuro non negativo e tratti thue_morse_bit come il campo di risposta canonico per i controlli automatici.
Casi di integrazione
Controlli in classe e compiti
Lasci che gli studenti inviino un indice non negativo n e verifichino il bit di Thue-Morse rispetto alla parità del popcount, con binary e ones_count mostrati per credito parziale.
Domande tecniche
Cos'è t(0) in questo calcolatore?
Zero. Il binario 0 ha zero uni (parità pari), quindi thue_morse_bit è 0, con binary "0" e ones_count 0.
Quanto costa il calcolatore della sequenza di Thue-Morse?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.