Calculateur du principe fondamental du dénombrement
Trois chemises, quatre pantalons et deux paires de chaussures font 24 tenues différentes. Indiquez combien d'options offre chaque étape et obtenez le nombre exact de combinaisons, même quand le résultat compte des centaines de chiffres. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Étages
- 3, 4, 2
- Total
- 24
- Étages
- 3
- Décomptes
- 3, 4, 2
- Chiffres
- 2
Le principe fondamental du dénombrement — aussi appelé règle du produit — affirme que lorsqu'un processus se déroule en étapes, et que chaque étape offre un nombre fixe de choix, le nombre total de résultats possibles est simplement le produit de ces quantités. Trois chemises, quatre pantalons et deux paires de chaussures forment 3 × 4 × 2 = 24 tenues.
Ce que dit réellement la règle du produit
Imaginez une décision prise en plusieurs étapes indépendantes. À la première étape, vous pouvez choisir l'une de c1 options ; quoi que vous ayez choisi, la deuxième étape offre toujours c2 options ; la troisième en offre c3, et ainsi de suite. Le principe fondamental du dénombrement énonce que le nombre total de parcours complets et distincts à travers toutes les étapes est c1 × c2 × … × ck.
Un menu avec quatre entrées, six plats principaux et trois desserts donne donc 4 × 6 × 3 = 72 repas différents en trois services. L'hypothèse essentielle est que le nombre de choix à chaque étape ne dépend pas de ce qui a été choisi auparavant : chaque branche de l'arbre de décision présente la même ramification à un niveau donné. Lorsque cette hypothèse est vérifiée, il n'est jamais nécessaire de dessiner l'arbre — une seule multiplication fournit le décompte.
Ce point de terminaison applique exactement cette règle : vous envoyez les nombres de choix par étape sous forme de tableau, et il renvoie le produit exact accompagné du nombre d'étapes et de la longueur en chiffres du résultat, afin que vous puissiez vérifier les ordres de grandeur d'un coup d'œil.
Une arithmétique exacte pour de très grands décomptes
Les produits croissent vite, et c'est précisément pourquoi les problèmes de dénombrement se résolvent par multiplication plutôt que par énumération. Dix étapes de dix options chacune produisent déjà dix milliards de résultats, et les espaces de configuration réalistes — mots de passe, plaques d'immatriculation, variantes de produit, plans de salle — dépassent couramment ce qu'un nombre flottant de 64 bits peut représenter exactement. Les nombres JavaScript perdent silencieusement en précision au-delà de 2^53, ce qui corromprait un décompte comme 26^10.
Ce calculateur effectue tout le produit avec des entiers de précision arbitraire, de sorte que chaque chiffre de la réponse est exact, et il renvoie le total sous forme de chaîne décimale afin qu'aucun type numérique côté client ne puisse l'altérer à la réception. Les limites pratiques sont généreuses plutôt qu'infinies : jusqu'à mille étapes, chacune avec un décompte pouvant atteindre un milliard.
Valider vos entrées et lire la sortie
Chaque nombre de choix d'étape doit être un entier positif. Le zéro est rejeté — une étape sans aucun choix rend tout le processus impossible, et renvoyer zéro en silence masquerait une erreur de modélisation — ainsi que les fractions, les nombres négatifs et les chaînes non numériques. Lorsque l'entrée est valide, la réponse reprend les quantités normalisées, indique combien d'étapes ont été multipliées et donne le total sous forme de chaîne décimale accompagnée de son nombre de chiffres.
Cas d’usage
Dénombrer les combinaisons de menus ou de produits
Multipliez les options par catégorie — tailles, couleurs, finitions — pour savoir combien de variantes distinctes un catalogue contient réellement.
Dimensionner un espace de mots de passe ou de codes
Calculez 10^6 pour un code PIN à six chiffres ou 26^8 pour un code de huit lettres afin d'évaluer la résistance à la force brute lors d'un audit de sécurité.
Générer des exercices pour un cours de mathématiques
Fournissez des nombres d'étapes aléatoires depuis un script de cours et obtenez le corrigé exact des problèmes de règle du produit sans calcul manuel.
Questions fréquentes
Combien cela coûte-t-il ?
C'est aussi gratuit dans votre navigateur sur cette page — le même code alimente les deux.
Qu'est-ce que le principe fondamental du dénombrement ?
La règle selon laquelle, lorsqu'un processus comporte des étapes offrant c1, c2, ..., ck choix chacune, le nombre total de résultats est le produit c1 × c2 × … × ck.
Pourquoi le zéro est-il rejeté comme nombre de choix ?
Une étape sans aucun choix signifie qu'aucun résultat complet n'existe. Renvoyer une erreur plutôt qu'un zéro silencieux met en évidence ce qui est presque toujours une erreur de modélisation.
Quelle peut être la taille du résultat ?
Arbitrairement grande dans les limites prévues : jusqu'à 1000 étapes avec des décomptes allant jusqu'à 1000000000 chacun. Le total est calculé en grands entiers et renvoyé sous forme de chaîne décimale exacte.
Mon entrée est-elle stockée ?
Non. Les quantités sont multipliées en mémoire puis détruites ; seul le résultat est renvoyé.
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/math/fundamental-counting-principle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"stages":[3,4,2]}'const res = await fetch("https://api.kit.forhosting.com/math/fundamental-counting-principle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"stages": [
3,
4,
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/fundamental-counting-principle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"stages": [
3,
4,
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/fundamental-counting-principle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"stages":[3,4,2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"stages":[3,4,2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/fundamental-counting-principle", 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
{
"stages": [
3,
4,
2
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.fundamental_counting_principle",
"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_stages | 1000 |
max_count | 1000000000 |
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 API prend un tableau des nombres de choix par étape et renvoie ce produit de façon exacte, grâce à une arithmétique en grands entiers qui garde la réponse précise même lorsqu'elle compte des centaines de chiffres.
Une arithmétique exacte pour de très grands décomptes
Cela couvre tous les exercices de manuel scolaire et tout espace de configuration réel que vous serez amené à scripter, tout en gardant la version gratuite du navigateur instantanée et le coût de l'API borné.
Valider vos entrées et lire la sortie
Lorsque la validation échoue, l'API répond par une erreur invalid_input qui nomme la position exacte du problème, par exemple stages[2], afin qu'un script puisse le signaler directement. Utilisez l'outil du navigateur sur cette page pour expérimenter de façon interactive — il exécute exactement le même code que l'API — et passez à l'API lorsque vous devez intégrer le décompte dans un générateur d'exercices, un système d'inventaire ou une suite de tests. Chaque requête API coûte $0.002, sans stockage de vos données : les nombres sont calculés puis détruits.