Bit Thue-Morse
Le rang 7 s'écrit 111 en binaire, avec trois uns : son bit de Thue-Morse vaut donc 1. Saisissez un rang positif ou nul pour voir sa forme binaire, son nombre de uns et le 0 ou 1 obtenu. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- N
- 7
- Binaire
- 111
- Nombre de uns
- 3
- Bit de Thue-Morse
- 1
La suite de Thue-Morse est la classique suite binaire sans chevauchement construite en prenant chaque entier non négatif n et en écrivant la parité du nombre de uns de son développement binaire. L'indice zéro vaut zéro (le binaire zéro n'a aucun un), l'indice un vaut un, l'indice deux vaut un, l'indice trois vaut zéro, et ainsi de suite, produisant le bloc familier 0, 1, 1, 0, 1, 0, 0, 1. Les étudiants en combinatoire des mots, les cours de théorie des codes et la recherche sur les suites automatiques ont besoin d'une réponse rapide et déterministe pour un indice entier sûr arbitraire sans écrire leurs propres compteurs de bits.
Ce qu'est le bit de Thue-Morse et pourquoi popcount mod 2 le définit
La suite infinie de Thue-Morse t(0), t(1), t(2), … est définie par t(n) égal à la somme des chiffres binaires de n prise modulo deux. De façon équivalente, t(n) vaut zéro lorsque n a un nombre pair de bits à un et un lorsque ce décompte est impair. Cette définition est exactement le population-count (popcount) de n réduit modulo deux, de sorte qu'aucune morphisme récursif ni construction par pliage de papier n'est requis à l'exécution : convertissez n en base deux, comptez les uns et prenez la parité.
Les seize premiers termes illustrent le motif : pour n de zéro à quinze les bits sont 0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0. La suite est sans cube et sans chevauchement, d'où sa place en combinatoire des mots, dans les constructions de suites automatiques et dans de simples démonstrations de chaînes binaires apériodiques. Comme l'application ne dépend que des uns binaires d'un seul entier non négatif, la réponse est unique, sans effet de bord et identique dans tout langage qui implémente le popcount entier de la même façon.
Les indices négatifs sortent de la définition standard utilisée ici : la suite est indexée par les entiers non négatifs, si bien qu'un n négatif est rejeté plutôt que replié en motifs de complément à deux qui brouilleraient les attentes en classe.
Lorsque vous avez besoin du bit pour une valeur concrète de devoir — par exemple n égal à sept, binaire un-un-un, trois uns, parité un — ce point d'accès renvoie ce bit avec la chaîne binaire intermédiaire et le nombre de uns afin que les apprenants puissent auditer la parité étape par étape.
Cas d’usage
Notation automatique LMS et examens
Notez les items de suite de Thue-Morse avec un oracle déterministe qui rejette un n négatif et n'invente jamais de bits à partir de motifs en complément à deux.
Carnets et démos de bits apériodiques
Échantillonnez t(n) dans des carnets de théorie des codes ou de combinatoire sans importer une bibliothèque complète d'algèbre computationnelle pour un contrôle de parité d'un bit.
Questions fréquentes
Comment calcule-t-on le n-ième bit de Thue-Morse ?
t(n) est la parité du nombre de uns dans la forme binaire de n : comptez les bits 1 (popcount) et réduisez modulo 2.
Que se passe-t-il si n est négatif ?
La suite est indexée par les entiers non négatifs ; un n négatif est rejeté et n'est pas facturé.
Est-ce la même chose qu'un bit de parité sur une chaîne de bits ?
Idée voisine, entrée différente. Ici l'entrée est l'indice entier n ; le bit est popcount(n) mod 2. Un outil générique de bit de parité opère sur une chaîne de bits arbitraire que vous fournissez.
Quel est le bit de Thue-Morse au rang 7 ?
Il vaut 1. Sept s'écrit 111 en binaire, soit trois uns. Trois est impair, et un nombre impair de uns donne toujours 1, alors qu'un nombre pair donne 0.
Quels sont les premiers termes de la suite de Thue-Morse ?
À partir du rang zéro, la suite commence par 0, 1, 1, 0, 1, 0, 0, 1 puis continue avec 1, 0, 0, 1, 0, 1, 1, 0. Chaque bloc est le précédent suivi de sa copie inversée.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"n": 7
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.thue_morse",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Cette capacité accepte n, renvoie la chaîne binaire, le nombre de uns et l'unique bit de Thue-Morse t(n), et rejette un n négatif avec invalid_input afin que les correcteurs automatiques ne traitent jamais un indice négatif comme une position valide de la suite.
Contrat d'entrée, champs de réponse et comportement d'erreur
Un n négatif échoue avec un message clair indiquant que n doit être non négatif ; ces échecs de validation ne sont pas facturés. Envoyez en POST un corps JSON avec un unique champ obligatoire n : un entier non négatif, soit comme nombre JSON, soit comme chaîne de chiffres décimaux tenant dans les entiers sûrs de JavaScript. n manquant, chaînes vides, non-entiers, nombres non finis et valeurs hors de la plage d'entiers sûrs échouent avec invalid_input en nommant le problème. En cas de succès le corps renvoie n, fournit binary comme la chaîne en base deux sans préfixe 0b (zéro produit le seul caractère 0), ones_count comme le nombre de bits à un, thue_morse_bit comme 0 ou 1, et une courte chaîne formula rappelant t(n) égal à popcount(n) mod 2. Exemple : n égal à sept donne binary 111, ones_count trois et thue_morse_bit un. Exemple : n égal à zéro donne binary 0, ones_count zéro et thue_morse_bit zéro. Exemple : n égal à trois donne binary 11, ones_count deux et thue_morse_bit zéro. Les clients qui n'ont besoin que du bit peuvent ignorer les champs de diagnostic ; tuteurs et correcteurs peuvent afficher binary et ones_count à côté de la réponse pour que les étudiants voient pourquoi la parité a basculé. L'implémentation est parse pure de niveau A : pas de réseau, pas de jetons de modèle, pas de système de fichiers, et le même module peut s'exécuter sur le chemin gratuit du navigateur et sur le Worker en périphérie sans divergences de résultats.
Où une API du bit de Thue-Morse trouve son utilité
Les démonstrations de théorie des codes et de signal numérique échantillonnent parfois des bits de Thue-Morse comme source binaire apériodique déterministe pour illustrer la discrépance ou des analogies de pliage de papier. Les carnets de recherche qui ont besoin d'un oracle rapide de t(n) en explorant des constantes de pliage ou des sommes liées à Prouhet–Thue–Morse peuvent appeler ce point d'accès plutôt que coller des tours de bits ad hoc qui divergent sur zéro et sur les grands entiers sûrs. Les cours de combinatoire et de mathématiques discrètes utilisent la suite de Thue-Morse pour enseigner les suites automatiques, les morphismes et les mots sans cube ; une petite API permet aux plugins LMS de vérifier les réponses des étudiants pour un n arbitraire sans livrer un paquet symbolique complet. Comme chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant, qu'une validation échouée ne consomme pas le solde, et que l'algorithme n'est qu'une poignée d'opérations binaires, vous obtenez des bits reproductibles pour les devoirs, la notation et les workers en périphérie sans déployer une infrastructure plus lourde de théorie des nombres. Gardez les requêtes petites, documentez que n est un entier sûr non négatif, et traitez thue_morse_bit comme le champ de réponse canonique pour les contrôles automatisés.
Cas d'intégration
Contrôles en classe et devoirs
Laissez les étudiants soumettre un indice non négatif n et vérifier le bit de Thue-Morse face à la parité du popcount, avec binary et ones_count affichés pour un crédit partiel.
Questions techniques
Que vaut t(0) dans ce calculateur ?
Zéro. Le binaire 0 a zéro un (parité paire), donc thue_morse_bit vaut 0, avec binary "0" et ones_count 0.
Combien coûte le calculateur de la suite de Thue-Morse ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.