Partitions en parties impaires et distinctes
Comptez les façons d'écrire un nombre comme somme de parties impaires : 10 en a 10, et d'après le théorème d'Euler c'est aussi le nombre de façons de le découper en parties distinctes. Exact de 0 à 5000. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- N
- 10
- Quantité
- 10
Ce compteur renvoie le nombre exact de façons d'écrire un entier non négatif n comme somme d'entiers positifs impairs, sans tenir compte de l'ordre. Le théorème des partitions d'Euler affirme que ce nombre compte aussi les partitions dont toutes les parties sont distinctes. Saisissez un entier pour obtenir un résultat décimal exact plutôt qu'une approximation flottante. Le calcul est déterministe, ne sollicite aucun réseau et considère la partition vide de zéro comme une partition valide.
Ce que compte le calculateur
Une partition écrit un entier comme une somme d'entiers positifs sans tenir compte de l'ordre des termes. Inverser les mêmes termes ne crée donc pas une nouvelle partition. Ce calculateur limite la première interprétation aux parties impaires : chaque terme doit être impair, mais une même valeur impaire peut se répéter.
Il répond simultanément à une autre question, celle du nombre de partitions en parties distinctes, où aucun entier positif ne peut apparaître deux fois. Ces deux familles ont la même taille pour tout n non négatif, même si leurs éléments sont généralement différents. Le résultat convient donc à un problème formulé avec des termes impairs comme à un problème exigeant des termes non répétés.
Pour n égal à zéro, le résultat vaut un en raison de la somme vide conventionnelle. Les valeurs négatives sont refusées, car les partitions ordinaires considérées ici ne sont définies que pour des cibles non négatives.
Pourquoi parties impaires et distinctes coïncident
Le théorème d'Euler s'explique par les fonctions génératrices ou par une transformation directe. Autoriser un nombre quelconque de chaque partie impaire produit un produit comportant un facteur géométrique par entier impair. Exiger des parties distinctes produit un autre produit dans lequel chaque entier positif est choisi une seule fois ou omis.
Les coefficients des deux produits sont identiques ; celui associé à n donne donc le même nombre. Une bijection existe également : on sépare les puissances de deux des parties impaires répétées, puis on combine les copies égales pour former des parties distinctes sans modifier la somme. Cette opération est réversible.
L'implémentation compte le côté des parties distinctes par programmation dynamique. Elle visite chaque partie une fois et actualise les sommes cibles dans l'ordre décroissant, ce qui interdit sa réutilisation pendant le même passage. L'arithmétique BigInt conserve chaque chiffre et l'entier final est sérialisé en chaîne décimale.
Utiliser et interpréter le résultat
Fournissez n sous la forme d'un entier non négatif compris entre zéro et la limite publiée. La réponse répète n et donne count, le nombre exact de partitions admissibles. Vous n'avez pas à choisir un mode parties impaires ou parties distinctes, puisque l'identité d'Euler garantit l'égalité des deux nombres.
Cette capacité permet de vérifier des exercices de combinatoire, de valider des tables de coefficients, de tester un code symbolique de fonctions génératrices ou d'alimenter un autre programme déterministe en valeurs de référence. La sortie compte des partitions non ordonnées, pas des compositions : permuter les mêmes termes n'ajoute aucun cas. Les répétitions sont permises dans l'interprétation impaire, mais interdites dans l'interprétation distincte.
Conservez les grandes réponses comme chaînes sauf si votre système gère des entiers de précision arbitraire. Fractions, valeurs absentes, dépassements de limite et entiers négatifs produisent une erreur d'entrée typée.
Cas d’usage
Vérifier des exercices de combinatoire
Contrôlez les nombres exacts lorsqu'un problème emploie des termes impairs ou exige des parties toutes distinctes.
Valider des fonctions génératrices
Comparez les coefficients calculés à un compte exact indépendant fondé sur l'identité d'Euler.
Créer des tables de référence
Produisez des nombres décimaux déterministes pour des tests, des cours ou l'étude de suites entières.
Questions fréquentes
Que renvoie précisément la réponse ?
Elle renvoie n et le nombre exact de ses partitions en parties impaires, également égal au nombre en parties distinctes.
L'ordre est-il important ?
Non. Les partitions ne sont pas ordonnées ; réarranger les mêmes termes n'en crée pas une autre.
Que se passe-t-il lorsque n vaut zéro ?
Le nombre vaut un et représente la partition vide.
Combien y a-t-il de partitions de 10 en parties impaires ?
Il y en a 10. Chacune écrit 10 comme somme de nombres impairs, répétitions permises et ordre ignoré. Ce même nombre, 10, compte aussi les façons d'écrire 10 avec des parties qui ne se répètent jamais.
Pourquoi un seul décompte répond-il à deux questions ?
Le théorème des partitions d'Euler affirme que les partitions en parties impaires et en parties distinctes sont aussi nombreuses pour tout entier. Regrouper les copies égales d'une partie fait passer d'un type à l'autre, et l'opération est réversible.
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/partitions-distinct-odd \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10}'const res = await fetch("https://api.kit.forhosting.com/numth/partitions-distinct-odd", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/partitions-distinct-odd",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/partitions-distinct-odd", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/partitions-distinct-odd", 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": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.partitions_distinct_odd",
"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 | 5000 |
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
Ce que compte le calculateur
Le compte est fourni sous forme de texte décimal afin que JSON n'arrondisse pas les grands entiers exacts.
Utiliser et interpréter le résultat
L'automatisation par API coûte $0.002 par requête.
Questions techniques
Pourquoi count est-il une chaîne ?
Les nombres peuvent dépasser la plage entière sûre de JSON ; le texte décimal préserve chaque chiffre.
Les entiers négatifs sont-ils admis ?
Non. Une valeur n négative renvoie une erreur invalid_input.
Combien coûte une requête API ?
Chaque requête API coûte $0.002.