Bit Thue-Morse
La posición 7 es 111 en binario, con tres unos, así que su bit de Thue-Morse es 1. Escriba una posición no negativa y verá su forma binaria, cuántos unos tiene y el 0 o 1 resultante. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 7
- Binario
- 111
- Cantidad de unos
- 3
- Bit de Thue-Morse
- 1
La secuencia de Thue-Morse es la clásica sucesión binaria libre de solapamientos que se obtiene tomando cada entero no negativo n y escribiendo la paridad de cuántos unos aparecen en su expansión binaria. El índice cero vale cero (el binario cero no tiene unos), el uno vale uno, el dos vale uno, el tres vale cero, y así sucesivamente, produciendo el bloque familiar 0, 1, 1, 0, 1, 0, 0, 1. Estudiantes de combinatoria de palabras, cursos de teoría de códigos e investigación de sucesiones automáticas necesitan una respuesta rápida y determinista para un índice entero seguro arbitrario sin implementar contadores de bits propios.
Qué es el bit de Thue-Morse y por qué lo define popcount mod 2
La secuencia infinita de Thue-Morse t(0), t(1), t(2), … se define por t(n) igual a la suma de los dígitos binarios de n tomada módulo dos. De forma equivalente, t(n) es cero cuando n tiene un número par de bits a uno y uno cuando ese recuento es impar.
Esa definición es exactamente el population-count (popcount) de n reducido módulo dos, de modo que en tiempo de ejecución no hace falta un morfismo recursivo ni una construcción de plegado de papel: convierta n a base dos, cuente los unos y tome la paridad. Los primeros dieciséis términos ilustran el patrón: para n de cero a quince los bits son 0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0.
La secuencia es libre de cubos y libre de solapamientos, por eso aparece en combinatoria de palabras, en construcciones de sucesiones automáticas y en demostraciones sencillas de cadenas binarias aperiódicas. Como el mapa depende solo de los unos binarios de un único entero no negativo, la respuesta es única, sin efectos laterales e idéntica en todo lenguaje que implemente popcount entero del mismo modo.
Los índices negativos quedan fuera de la definición estándar usada aquí: la secuencia se indexa por los enteros no negativos, de modo que un n negativo se rechaza en lugar de plegarse a patrones de complemento a dos que confundirían las expectativas del aula.
Cuando necesite el bit para un valor concreto de deberes —por ejemplo n igual a siete, binario uno-uno-uno, tres unos, paridad uno— este extremo devuelve ese bit junto con la cadena binaria intermedia y el recuento de unos para que el alumnado pueda auditar la paridad paso a paso.
Qué puede hacer con ella
Calificación automática en LMS y exámenes
Califique ítems de la secuencia de Thue-Morse con un oráculo determinista que rechaza n negativo y nunca inventa bits a partir de patrones de complemento a dos.
Cuadernos y demos de bits aperiódicos
Muestree t(n) en cuadernos de teoría de códigos o combinatoria sin importar una biblioteca completa de álgebra computacional para una comprobación de paridad de un bit.
Preguntas frecuentes
¿Cómo se calcula el n-ésimo bit de Thue-Morse?
t(n) es la paridad del número de unos en la forma binaria de n: cuente los bits 1 (popcount) y reduzca módulo 2.
¿Qué ocurre si n es negativo?
La secuencia se indexa por enteros no negativos; un n negativo se rechaza y no se factura.
¿Es lo mismo que un bit de paridad sobre una cadena de bits?
Idea relacionada, entrada distinta. Aquí la entrada es el índice entero n; el bit es popcount(n) mod 2. Una herramienta genérica de bit de paridad opera sobre una cadena de bits arbitraria que usted suministra.
¿Cuál es el bit de Thue-Morse de la posición 7?
Es 1. El siete en binario se escribe 111, que tiene tres unos. Tres es impar, y una cantidad impar de unos da siempre 1, mientras que una cantidad par da 0.
¿Cuáles son los primeros términos de la secuencia de Thue-Morse?
Desde la posición cero, la secuencia empieza con 0, 1, 1, 0, 1, 0, 0, 1 y sigue con 1, 0, 0, 1, 0, 1, 1, 0. Cada bloque es el anterior seguido de su copia invertida.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"n": 7
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.thue_morse",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Esta capacidad acepta n, devuelve la cadena binaria, el recuento de unos y el único bit de Thue-Morse t(n), y rechaza n negativo con invalid_input para que los correctores automáticos nunca traten un índice negativo como posición válida de la secuencia.
Contrato de entrada, campos de respuesta y comportamiento ante errores
Un n negativo falla con un mensaje claro de que n debe ser no negativo; esos fallos de validación no se facturan. Envíe por POST un cuerpo JSON con un único campo obligatorio n: un entero no negativo, como número JSON o como cadena de dígitos decimales que quepa en enteros seguros de JavaScript. Si falta n, hay cadenas vacías, no enteros, números no finitos o valores fuera del rango de enteros seguros, la tarea falla con invalid_input indicando el problema. En caso de éxito el cuerpo repite n, ofrece binary como la cadena en base dos sin prefijo 0b (cero produce el carácter único 0), ones_count como el número de bits a uno, thue_morse_bit como 0 o 1, y una cadena formula breve que reafirma t(n) igual a popcount(n) mod 2. Ejemplo: n igual a siete produce binary 111, ones_count tres y thue_morse_bit uno. Ejemplo: n igual a cero produce binary 0, ones_count cero y thue_morse_bit cero. Ejemplo: n igual a tres produce binary 11, ones_count dos y thue_morse_bit cero. Los clientes que solo necesitan el bit pueden ignorar los campos de diagnóstico; tutores y correctores pueden mostrar binary y ones_count junto a la respuesta para que el alumnado vea por qué cambió la paridad. La implementación es parse pura de nivel A: sin red, sin tokens de modelo, sin sistema de archivos, y el mismo módulo puede ejecutarse en la ruta gratuita del navegador y en el Worker de borde sin divergir resultados.
Dónde aporta valor una API del bit de Thue-Morse
Las demostraciones de teoría de códigos y señal digital a veces muestrean bits de Thue-Morse como fuente binaria aperiódica determinista para ilustrar discrepancia o analogías de plegado de papel. Los cuadernos de investigación que necesitan un oráculo rápido de t(n) al explorar constantes de plegado o sumas relacionadas con Prouhet–Thue–Morse pueden llamar a este extremo en lugar de pegar trucos de bits ad hoc que divergen en cero y en enteros seguros grandes. Los cursos de combinatoria y matemática discreta usan la secuencia de Thue-Morse al enseñar sucesiones automáticas, morfismos y palabras libres de cubos; una API pequeña permite que los plugins LMS comprueben respuestas del alumnado para n arbitrario sin enviar un paquete simbólico completo. Como cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente, la validación fallida no consume saldo, y el algoritmo es un puñado de operaciones de bits, obtiene bits reproducibles para deberes, calificación y workers de borde sin montar infraestructura más pesada de teoría de números. Mantenga las peticiones pequeñas, documente que n es un entero seguro no negativo y trate thue_morse_bit como el campo canónico de respuesta para comprobaciones automáticas.
Casos de integración
Comprobaciones en clase y deberes
Permita que el alumnado envíe un índice no negativo n y verifique el bit de Thue-Morse frente a la paridad del popcount, con binary y ones_count visibles para crédito parcial.
Preguntas técnicas
¿Qué es t(0) en esta calculadora?
Cero. El binario 0 tiene cero unos (paridad par), así que thue_morse_bit es 0, con binary "0" y ones_count 0.
¿Cuánto cuesta la calculadora de la secuencia de Thue-Morse?
La herramienta del navegador es gratuita. Las peticiones API usan saldo KIT prepago a $0.002 por llamada exitosa; la entrada inválida no se factura.