Factoradique
Passez des entiers au système factoradique et revenez-en : 23 s'écrit 3:2:1:0, ou 3210!, car trois fois 3! plus deux fois 2! plus une fois 1! font 23. Chaque position est vérifiée par rapport à son chiffre maximal. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Valeur
- 23
- Valeur
- 23
- Mode de calcul
- To factoradic
- Entrée
- 23
- Décimal
- 23
Implémente convertisseur factoradique de façon déterministe (parse). Saisissez la valeur et le mode le cas échéant pour une conversion exacte sans réseau.
Compter avec des factorielles plutôt qu'avec des puissances
En base dix, chaque position vaut dix fois la précédente. Dans le système factoradique, chaque position vaut une factorielle : la première à droite vaut 0!, la suivante 1!, puis 2!, 3! et ainsi de suite. De plus, le chiffre d'une position ne peut pas dépasser son indice : à la position zéro seul le 0 est permis, à la première le 0 ou le 1, à la deuxième de 0 à 2. Avec cette règle, chaque entier positif ou nul a une écriture unique, comme en base dix. Par exemple, 23 vaut trois fois 3! plus deux fois 2! plus une fois 1! plus zéro fois 0!, soit 3:2:1:0, noté 3210! en forme compacte. L'outil affiche ce détail pour que vous puissiez vérifier le calcul.
À quoi il sert et les erreurs courantes
Le système factoradique sert à classer les permutations : le code de Lehmer d'une permutation est un nombre factoradique, d'où son usage en concours de programmation, en cours de combinatoire et pour numéroter tous les ordres possibles d'une liste. L'erreur la plus fréquente consiste à écrire un chiffre plus grand que sa position, par exemple un 3 en position deux ; l'outil le refuse au lieu de le corriger en silence. Indiquez aussi toujours le sens de la conversion, car 23 peut être un décimal ou une liste de chiffres, et l'outil ne devine pas. Les nombres négatifs, les fractions et la notation scientifique sont refusés, et l'outil va jusqu'à quarante positions.
Rôle
Les encodeurs et conversions de base sont très recherchés. convertisseur factoradique applique decimal↔factoradic avec validation stricte. Les goldens fixent entrées et sorties pour un oracle. Le formulaire web expose params avec libellés en huit langues.
Usage
Utilisez convertisseur factoradique pour la conversion exacte décrite, pas un pack cryptographique complet. Ne remplace pas un chiffrement à clé. Combinez avec d’autres utilitaires enc.
*. Documentez limites et modes.
Cas d’usage
Cours avec convertisseur factoradique.
Cours avec convertisseur factoradique.
Tests unitaires d’encodage.
Tests unitaires d’encodage.
Utilitaires de pipeline texte.
Utilitaires de pipeline texte.
Questions fréquentes
Comment convertir 23 en factoradique à la main ?
Divisez par 1, 2, 3 et ainsi de suite, en notant chaque reste et en poursuivant avec le quotient. Pour 23, les restes sont 0, 1, 2 et 3 ; lus du dernier au premier, ils donnent 3:2:1:0.
Comment convertir un nombre factoradique en décimal ?
Multipliez chaque chiffre par la factorielle de sa position et additionnez : pour 3210!, cela fait 18 plus 4 plus 1 plus 0, soit 23. Les chiffres peuvent être séparés par deux-points, espaces ou virgules, ou écrits sous la forme compacte avec point d'exclamation.
Pourquoi le dernier chiffre factoradique vaut-il toujours 0 ?
Parce que la position la moins significative vaut 0!, et qu'à chaque position le chiffre ne peut pas dépasser son indice. À la position zéro, le seul chiffre possible est 0, donc tout nombre factoradique se termine par 0.
Quel lien entre le système factoradique et les permutations ?
Le code de Lehmer d'une permutation est en fait un nombre factoradique : chacun des n! ordres possibles reçoit son propre rang, sans trou ni doublon. Convertir un rang en factoradique donne son code de Lehmer, et inversement.
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/enc/factoradic \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"23"}'const res = await fetch("https://api.kit.forhosting.com/enc/factoradic", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "23"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/factoradic",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "23"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/factoradic", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"23"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"23"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/factoradic", 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
{
"value": "23"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.factoradic",
"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.
Limites
max_places | 40 |
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
API $0.002 par succès ; web gratuit avec le même noyau pour cours, tests et utilitaires.
Rôle
Pas d’état ni d’horloge. invalid_input évite les sorties fausses silencieuses.
Fonctionnement
Les optionnels sont omis, jamais null. Les limites de params et cap.json sont appliquées. Après validation, le noyau transforme et renvoie un JSON stable. L’API facture $0.002 par succès.
Usage
Pas d’abonnement ; facturation à l’usage réussi uniquement via l’API documentée.
Questions techniques
Est-ce déterministe ?
Oui : même entrée, même sortie.
Réseau ou IA ?
Non ; parse seul.
Entrée invalide ?
invalid_input avec message clair.
Prix ?
API $0.002 par succès ; web gratuit.
Y a-t-il un widget ?
Oui, tier A avec la même lib.js.