Bit Thue-Morse
A posição 7 é 111 em binário, com três uns, então o bit de Thue-Morse é 1. Digite uma posição não negativa para ver a forma binária, quantos uns ela tem e o 0 ou 1 resultante. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- N
- 7
- Binário
- 111
- Quantidade de uns
- 3
- Bit de Thue-Morse
- 1
A sequência de Thue-Morse é a clássica sucessão binária livre de sobreposições construída tomando cada inteiro não negativo n e escrevendo a paridade de quantos uns aparecem em sua expansão binária. O índice zero vale zero (o binário zero não tem uns), o um vale um, o dois vale um, o três vale zero, e assim por diante, produzindo o bloco familiar 0, 1, 1, 0, 1, 0, 0, 1. Estudantes de combinatória de palavras, cursos de teoria de códigos e pesquisa de sequências automáticas precisam de uma resposta rápida e determinística para um índice inteiro seguro arbitrário sem implementar contadores de bits próprios.
O que é o bit de Thue-Morse e por que popcount mod 2 o define
A sequência infinita de Thue-Morse t(0), t(1), t(2), … é definida por t(n) igual à soma dos dígitos binários de n tomada módulo dois. De forma equivalente, t(n) é zero quando n tem um número par de bits iguais a um e um quando essa contagem é ímpar.
Essa definição é exatamente o population-count (popcount) de n reduzido módulo dois, de modo que em tempo de execução não é necessário um morfismo recursivo nem uma construção de dobradura de papel: converta n para base dois, conte os uns e tome a paridade. Os primeiros dezesseis termos ilustram o padrão: para n de zero a quinze os bits são 0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0.
A sequência é livre de cubos e livre de sobreposições, por isso aparece em combinatória de palavras, em construções de sequências automáticas e em demonstrações simples de strings binárias aperiódicas. Como o mapa depende apenas dos uns binários de um único inteiro não negativo, a resposta é única, sem efeitos colaterais e idêntica em toda linguagem que implemente popcount inteiro da mesma forma.
Índices negativos ficam fora da definição padrão usada aqui: a sequência é indexada pelos inteiros não negativos, de modo que um n negativo é rejeitado em vez de ser dobrado em padrões de complemento de dois que confundiriam as expectativas da sala de aula.
Casos de uso
Correção automática em LMS e provas
Corrija itens da sequência de Thue-Morse com um oráculo determinístico que rejeita n negativo e nunca inventa bits a partir de padrões de complemento de dois.
Cadernos e demos de bits aperiódicos
Amostre t(n) em cadernos de teoria de códigos ou combinatória sem importar uma biblioteca completa de álgebra computacional para uma verificação de paridade de um bit.
Perguntas frequentes
Como o n-ésimo bit de Thue-Morse é calculado?
t(n) é a paridade do número de uns na forma binária de n: conte os bits 1 (popcount) e reduza módulo 2.
O que acontece se n for negativo?
A sequência é indexada por inteiros não negativos; n negativo é rejeitado e não é cobrado.
É o mesmo que um bit de paridade em uma string de bits?
Ideia relacionada, entrada diferente. Aqui a entrada é o índice inteiro n; o bit é popcount(n) mod 2. Uma ferramenta genérica de bit de paridade opera sobre uma string de bits arbitrária que você fornece.
Qual é o bit de Thue-Morse da posição 7?
É 1. O sete em binário é 111, que tem três uns. Três é ímpar, e uma quantidade ímpar de uns sempre dá 1, enquanto uma quantidade par dá 0.
Quais são os primeiros termos da sequência de Thue-Morse?
A partir da posição zero, a sequência começa com 0, 1, 1, 0, 1, 0, 0, 1 e segue com 1, 0, 0, 1, 0, 1, 1, 0. Cada bloco é o anterior seguido da sua cópia invertida.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"n": 7
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.thue_morse",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Esta capacidade aceita n, devolve a string binária, a contagem de uns e o único bit de Thue-Morse t(n), e rejeita n negativo com invalid_input para que corretores automáticos nunca tratem um índice negativo como posição válida da sequência.
O que é o bit de Thue-Morse e por que popcount mod 2 o define
Quando você precisar do bit para um valor concreto de lição de casa — por exemplo n igual a sete, binário um-um-um, três uns, paridade um — este endpoint devolve esse bit junto com a string binária intermediária e a contagem de uns para que os alunos possam auditar a paridade passo a passo.
Contrato de entrada, campos de resposta e comportamento de erro
Envie por POST um corpo JSON com um único campo obrigatório n: um inteiro não negativo, como número JSON ou como string de dígitos decimais que caiba em inteiros seguros de JavaScript. n ausente, strings vazias, não inteiros, números não finitos e valores fora da faixa de inteiros seguros falham com invalid_input indicando o problema. n negativo falha com uma mensagem clara de que n deve ser não negativo; essas falhas de validação não são cobradas. Em caso de sucesso o corpo ecoa n, fornece binary como a string em base dois sem o prefixo 0b (zero produz o único caractere 0), ones_count como o número de bits iguais a um, thue_morse_bit como 0 ou 1, e uma string formula curta reafirmando t(n) igual a popcount(n) mod 2. Exemplo: n igual a sete produz binary 111, ones_count três e thue_morse_bit um. Exemplo: n igual a zero produz binary 0, ones_count zero e thue_morse_bit zero. Exemplo: n igual a três produz binary 11, ones_count dois e thue_morse_bit zero. Clientes que só precisam do bit podem ignorar os campos de diagnóstico; tutores e corretores podem exibir binary e ones_count ao lado da resposta para que os alunos vejam por que a paridade mudou. A implementação é parse pura de nível A: sem rede, sem tokens de modelo, sem sistema de arquivos, e o mesmo módulo pode rodar no caminho gratuito do navegador e no Worker de borda sem divergir resultados.
Onde uma API do bit de Thue-Morse agrega valor
Demonstrações de teoria de códigos e sinal digital às vezes amostram bits de Thue-Morse como fonte binária aperiódica determinística para ilustrar discrepância ou analogias de dobradura de papel. Cursos de combinatória e matemática discreta usam a sequência de Thue-Morse ao ensinar sequências automáticas, morfismos e palavras livres de cubos; uma API pequena permite que plugins LMS verifiquem respostas de alunos para n arbitrário sem enviar um pacote simbólico completo. Cadernos de pesquisa que precisam de um oráculo rápido de t(n) ao explorar constantes de dobradura ou somas relacionadas a Prouhet–Thue–Morse podem chamar este endpoint em vez de colar truques de bits ad hoc que divergem em zero e em inteiros seguros grandes. Como cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo nem rede de saída, a validação falha não consome saldo, e o algoritmo é um punhado de operações de bits, você obtém bits reproduzíveis para lições, correção e workers de borda sem montar infraestrutura mais pesada de teoria dos números. Mantenha as requisições pequenas, documente que n é um inteiro seguro não negativo e trate thue_morse_bit como o campo canônico de resposta para verificações automáticas.
Casos de integração
Verificações em sala e lições de casa
Permita que os alunos enviem um índice não negativo n e verifiquem o bit de Thue-Morse frente à paridade do popcount, com binary e ones_count exibidos para crédito parcial.
Perguntas técnicas
O que é t(0) nesta calculadora?
Zero. O binário 0 tem zero uns (paridade par), então thue_morse_bit é 0, com binary "0" e ones_count 0.
Quanto custa a calculadora da sequência de Thue-Morse?
A ferramenta do navegador é gratuita. Requisições API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.