Partitionen in ungerade oder verschiedene Teile
Zählen Sie, auf wie viele Arten sich eine Zahl als Summe ungerader Teile schreiben lässt: 10 hat 10 solche Partitionen, und nach dem Satz von Euler ist das auch die Zahl der Zerlegungen in verschiedene Teile. Exakt von 0 bis 5000. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- N
- 10
- Anzahl
- 10
Dieser Rechner liefert die exakte Anzahl der Möglichkeiten, eine nicht negative ganze Zahl n als Summe positiver ungerader Zahlen zu schreiben, wobei die Reihenfolge keine Rolle spielt. Eulers Partitionssatz besagt, dass dieselbe Zahl auch die Partitionen zählt, deren Teile sämtlich verschieden sind. Geben Sie eine ganze Zahl ein, um ein exaktes Dezimalergebnis statt einer Gleitkommanäherung zu erhalten. Die Berechnung ist deterministisch, benötigt kein Netzwerk und wertet die leere Partition von null als eine gültige Partition.
Was der Rechner zählt
Eine Partition stellt eine ganze Zahl als Summe positiver ganzer Zahlen dar, ohne die Reihenfolge der Summanden zu beachten. Eine Umkehrung derselben Summanden erzeugt daher keine neue Partition. Dieser Rechner beschränkt die erste Sichtweise auf ungerade Teile: Jeder Summand muss ungerade sein, ein ungerader Wert darf jedoch mehrfach vorkommen.
Gleichzeitig beantwortet er die Frage nach Partitionen in verschiedene Teile, bei denen keine positive ganze Zahl zweimal vorkommt. Beide Familien sind für jedes nicht negative n gleich groß, auch wenn ihre einzelnen Elemente meist anders aussehen. Das Ergebnis eignet sich deshalb für Aufgaben mit ungeraden oder mit nicht wiederholten Summanden.
Für n gleich null lautet es eins, entsprechend der üblichen leeren Summe. Negative Werte werden abgelehnt, weil gewöhnliche Partitionen hier nur für nicht negative Zielwerte definiert sind.
Warum ungerade und verschiedene Teile übereinstimmen
Eulers Satz lässt sich mit erzeugenden Funktionen oder einer direkten Umformung verstehen. Beliebig viele Exemplare jedes ungeraden Teils ergeben ein Produkt mit einem geometrischen Faktor für jede ungerade Zahl. Verschiedene Teile ergeben ein Produkt, in dem jede positive ganze Zahl genau einmal gewählt oder ausgelassen wird.
Beide Produkte besitzen dieselben Koeffizienten; der zu n gehörende Koeffizient liefert somit dieselbe Anzahl. Eine Bijektion trennt außerdem wiederholt Zweierpotenzen aus gleichen ungeraden Teilen und verbindet gleiche Kopien zu verschiedenen Teilen, ohne die Summe zu ändern. Dieser Vorgang ist umkehrbar.
Die Implementierung zählt die Seite der verschiedenen Teile mittels dynamischer Programmierung. Sie besucht jeden möglichen Teil einmal und aktualisiert Zielsummen absteigend. Dadurch kann ein Teil während seines eigenen Durchlaufs nicht erneut verwendet werden.
Exakte BigInt-Arithmetik bewahrt jede Ziffer, anschließend wird die ganze Zahl für eine zuverlässige Übertragung als Dezimalzeichenfolge serialisiert.
Ergebnis verwenden und auslegen
Geben Sie n als nicht negative ganze Zahl zwischen null und der veröffentlichten Grenze an. Die Antwort wiederholt n und liefert in count die exakte Anzahl der passenden Partitionen. Sie müssen keinen Modus für ungerade oder verschiedene Teile wählen, da Eulers Identität die Gleichheit beider Anzahlen garantiert.
Damit können Sie kombinatorische Aufgaben prüfen, Koeffiziententabellen validieren, symbolischen Code für erzeugende Funktionen testen oder Referenzwerte für ein anderes deterministisches Programm erzeugen. Die Ausgabe zählt ungeordnete Partitionen und keine Kompositionen: Eine andere Reihenfolge derselben Terme ist kein weiterer Fall. Wiederholungen sind in der Deutung mit ungeraden Teilen erlaubt, in der Deutung mit verschiedenen Teilen jedoch verboten.
Bewahren Sie große Antworten als Zeichenfolgen auf, sofern Ihr Zielsystem keine Ganzzahlen beliebiger Genauigkeit unterstützt. Brüche, fehlende Eingaben, Werte oberhalb der Grenze und negative Zahlen führen zu einem typisierten Eingabefehler.
Anwendungsfälle
Kombinatorikaufgaben prüfen
Prüfen Sie exakte Anzahlen bei Aufgaben mit ungeraden Summanden oder ausschließlich verschiedenen Teilen.
Erzeugende Funktionen validieren
Vergleichen Sie berechnete Koeffizienten mit einer unabhängigen exakten Anzahl nach Eulers Identität.
Referenztabellen erstellen
Erzeugen Sie deterministische Dezimalwerte für Tests, Lehrmaterial oder die Erforschung ganzzahliger Folgen.
Häufige Fragen
Was wird genau zurückgegeben?
Die Antwort enthält n und die exakte Anzahl seiner Partitionen in ungerade Teile, zugleich die Anzahl mit verschiedenen Teilen.
Spielt die Reihenfolge eine Rolle?
Nein. Partitionen sind ungeordnet; eine Umordnung derselben Summanden erzeugt keine weitere Partition.
Was geschieht bei n gleich null?
Die Anzahl ist eins und steht für die leere Partition.
Wie viele Partitionen von 10 in ungerade Teile gibt es?
Es gibt 10. Jede schreibt 10 als Summe ungerader Zahlen, Wiederholungen erlaubt und ohne Rücksicht auf die Reihenfolge. Dieselbe Zahl 10 zählt auch die Zerlegungen von 10 in Teile, die sich nie wiederholen.
Warum beantwortet eine Zählung zwei Fragen?
Eulers Partitionssatz besagt, dass es für jede Zahl gleich viele Partitionen in ungerade Teile wie in verschiedene Teile gibt. Fasst man gleiche Kopien eines Teils zusammen, wird aus der einen Art die andere, und der Schritt lässt sich umkehren.
Welche Zahl darf ich höchstens eingeben?
Jede ganze Zahl von 0 bis 5000. Negative Zahlen werden abgelehnt, und 0 ergibt 1, weil die leere Summe als ihre einzige Partition zählt. Große Ergebnisse erscheinen mit allen Stellen.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"n": 10
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.partitions_distinct_odd",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_n | 5000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Was der Rechner zählt
Die Ausgabe erfolgt als Dezimaltext, damit JSON große exakte Ganzzahlen nicht unbemerkt rundet.
Ergebnis verwenden und auslegen
Die API-Automatisierung kostet $0.002 je Anfrage.
Technische Fragen
Warum ist count eine Zeichenfolge?
Die Anzahlen können den sicheren Ganzzahlbereich von JSON überschreiten; Dezimaltext erhält jede Ziffer.
Sind negative ganze Zahlen zulässig?
Nein. Ein negatives n führt zu einem invalid_input-Fehler.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002.