Calculateur permutations et combinaisons
Découvrez de combien de façons on peut choisir r éléments parmi n : prendre 2 éléments sur 5 donne 10 combinaisons si l'ordre ne compte pas, alors que les permutations comptent chaque ordre à part. Résultats entiers exacts pour n jusqu'à 1000. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Nombre total d’éléments (n)
- 5
- Éléments sélectionnés (r)
- 2
- Mode de calcul
- C
- Résultat
- 10
Saisissez n, r et le mode pour un entier exact en chaîne.
P e C
P(n,r) counts ordered selections of r items from n without replacement; C(n,r) counts unordered selections. Integers n and r must be between 0 and 1000 with r less than or equal to n. Mode accepts P, p, permutation, perm or C, c, combination, comb and normalizes the echo to a single capital letter after trim.
Les résultats n'appellent pas le réseau, ne lisent pas l'horloge système et ne dépendent pas de la locale de l'hôte. Cette surface courte et signée permet à deux oracles indépendants d'obtenir zéro divergence sur trente vecteurs sans partager le moindre code d'implémentation entre eux de quelque façon.
Produits BigInt exacts
Permutations multiply a descending product of r factors starting at n. Combinations perform exact integer division by each successive index after optionally replacing r with min(r, n-r). Floats, booleans and padded zeros like 01 are rejected on the offending field.
Les résultats n'appellent pas le réseau, ne lisent pas l'horloge système et ne dépendent pas de la locale de l'hôte. Cette surface courte et signée permet à deux oracles indépendants d'obtenir zéro divergence sur trente vecteurs sans partager le moindre code d'implémentation entre eux de quelque façon.
Ce que le calculateur accepte et refuse
A leading minus is reported as negativo before the field name. Values above one thousand fail on n or r. When r is greater than n the match is range.
Empty strings, plus signs and decimal points are format errors. Independent oracles can agree on every signed vector without reading implementation code. Les résultats n'appellent pas le réseau, ne lisent pas l'horloge système et ne dépendent pas de la locale de l'hôte.
Cette surface courte et signée permet à deux oracles indépendants d'obtenir zéro divergence sur trente vecteurs sans partager le moindre code d'implémentation entre eux de quelque façon.
Sortie pour pipelines
Success always returns normalized integers n and r, mode as P or C, result as a minimal decimal string, and formula such as C(5,2). Version one skips repetitions, multinomials and non-integer inputs so the signed surface stays auditable. Les résultats n'appellent pas le réseau, ne lisent pas l'horloge système et ne dépendent pas de la locale de l'hôte.
Cette surface courte et signée permet à deux oracles indépendants d'obtenir zéro divergence sur trente vecteurs sans partager le moindre code d'implémentation entre eux de quelque façon.
Cas d’usage
Homework
nPr/nCr checks.
Draws
C(n,r) counts.
Orders
P(n,r) counts.
CI
Exact strings.
Questions fréquentes
Quelle différence entre une permutation et une combinaison ?
Une permutation compte les sélections ordonnées : choisir A puis B diffère de B puis A. Une combinaison ignore l'ordre. Prendre 2 éléments sur 5 donne 10 combinaisons et deux fois plus de permutations, car chaque paire se range de deux façons.
Laquelle utiliser pour un tirage de loterie ?
Utilisez la combinaison, car l'ordre de sortie des numéros ne change pas le billet. Pour un plan de table ou les places d'un podium, où l'ordre compte, utilisez plutôt la permutation.
Le nombre r peut-il dépasser n ?
Non. On ne peut pas choisir plus d'éléments qu'il n'y en a, donc r doit être inférieur ou égal à n. Les deux doivent être des entiers de 0 à 1000, et toute valeur hors de cette plage est refusée.
Compte-t-il les sélections avec répétition ?
Non. Chaque calcul suppose qu'un élément déjà choisi ne peut pas l'être à nouveau. Les sélections avec répétition et les comptages multinomiaux ne sont pas inclus : vérifiez que votre problème se fait sans remise.
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/dev/permutation-combination \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5,"r":2,"mode":"C"}'const res = await fetch("https://api.kit.forhosting.com/dev/permutation-combination", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5,
"r": 2,
"mode": "C"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/permutation-combination",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5,
"r": 2,
"mode": "C"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/permutation-combination", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5,"r":2,"mode":"C"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5,"r":2,"mode":"C"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/permutation-combination", 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": 5,
"r": 2,
"mode": "C"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.permutation_combination",
"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_n | 1000 |
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
P e C
Unknown modes return typed invalid_input on mode.
Produits BigInt exacts
Every step uses BigInt so P(1000,3) and C(30,5) become exact decimal strings without scientific notation or IEEE surprises.
Erreurs typées et bornes
Missing n, r or mode yields invalid_input with a clear match.
Questions techniques
r > n?
range
Decimals?
No v1
Max n?
1000
result type?
decimal string
Browser free?
Yes; API $0.002
Float?
No BigInt only