Alle geordneten Kompositionen einer Zahl auflisten – kostenlos
Die Zahl 4 hat 8 Kompositionen, von 1+1+1+1 bis zur 4 selbst, und dieses Werkzeug listet alle in fester Reihenfolge mit der Gesamtzahl daneben auf. Erlaubt ist jedes n von 1 bis 16. 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
- 4
- Anzahl
- 8
Eine geordnete Komposition einer positiven ganzen Zahl n ist eine Art, n als Summe positiver ganzer Zahlen zu schreiben, bei der die Reihenfolge der Summanden zählt: 1+2 und 2+1 sind verschiedene Kompositionen von 3, und es gibt stets genau zwei hoch n minus eins Kompositionen. Diese Fähigkeit nimmt eine einzelne positive ganze Zahl n entgegen und liefert jede Komposition als geordnetes Array von Teilen zurück, dazu die Gesamtanzahl, sodass Sie keinen rekursiven Baum von Hand aufbauen und keinen Zweig übersehen müssen, wenn Sie Hausaufgaben prüfen, Testdaten erzeugen oder partitionsnahe Kombinatorik erkunden.
Was geordnete Kompositionen sind und wie sie sich von Partitionen unterscheiden
In der Zahlentheorie und der Kombinatorik ist eine Komposition von n eine geordnete Folge positiver ganzer Zahlen, die sich zu n summieren. Anders als bei ganzzahligen Partitionen, bei denen nur die Multimenge der Teile zählt und 1+2 mit 2+1 gleichgesetzt wird, behandeln Kompositionen jede Anordnung als eigenständiges Objekt. Für jedes n mindestens eins gibt es genau zwei hoch n minus eins Kompositionen: Jede Komposition entspricht dem Setzen oder Weglassen eines Trenners zwischen aufeinanderfolgenden Einheiten in einer Reihe von n Einsen.
Lehrbücher verwenden Kompositionen, wenn die Reihenfolge eine Abfolge, ein Ranking oder eine gestufte Zuteilung kodiert – etwa aufeinanderfolgende Blockgrößen in einem Zeitplan, Lauflängen in einer Binärkette oder Schrittweiten entlang eines Pfads, der genau n Einheiten überbrücken muss. Lernende verwechseln die beiden Familien oft, weil beide die Frage „Wie lässt sich n als Summe schreiben?“ beantworten, doch nur Kompositionen achten auf die Reihenfolge von links nach rechts.
Die vollständige geordnete Liste zurückzugeben macht diesen Unterschied greifbar: Sie sehen jede Umordnung und nicht einen kanonischen sortierten Vertreter, und das Anzahlfeld sollte mit der geschlossenen Formel übereinstimmen, sodass Sie eine unvollständige Handaufzählung sofort erkennen.
Wie die Fähigkeit Kompositionen aufzählt und wann sie ablehnt
Die Engine baut jede Komposition durch rekursive Erweiterung des ersten Teils auf: Für die verbleibende Summe r probiert sie jede Teilgröße k von eins bis r durch, hängt k an das wachsende Präfix an und fährt fort, bis der Rest null ist, woraufhin die fertige Folge festgehalten wird. Dieser Durchlauf ergibt eine stabile, deterministische Reihenfolge – identische Anfragen erzeugen stets dasselbe Array aus Arrays – ohne sich auf Uhren, Zufall oder Netzwerkzustand zu stützen.
Die Antwort meldet n selbst, das Array der Kompositionen und die Anzahl gleich der Länge dieses Arrays (die für ein gültiges n immer zwei hoch n minus eins beträgt). Fehlende, nicht-ganzzahlige oder fehlerhafte n-Felder werden auf dieselbe Weise abgelehnt und nie berechnet.
Wo sich die Liste einsetzen lässt und was sie kostet
Typische Einsätze umfassen das Prüfen von Schülerantworten, die die Kompositionen eines gegebenen n auflisten, das Erzeugen erschöpfender Testfälle für Funktionen, die geordnete Teilfolgen entgegennehmen, das Erkunden kombinatorischer Identitäten, die Kompositionen mit eingeschränkten Teilgrößen durch Nachfiltern der vollständigen Liste zählen, und das Dokumentieren von Staffelungsoptionen, wenn sich ein Budget von n Einheiten in geordnete Phasen aufteilen lässt.
Halten Sie n innerhalb der dokumentierten Grenzen, damit die Antwort handhabbar bleibt; brauchen Sie nur die Anzahl, können Sie dieses Werkzeug für kleines n dennoch verwenden oder die geschlossene Formel zwei hoch n minus eins außerhalb des Werkzeugs für größere theoretische Arbeit anwenden. Der Browser-Pfad läuft lokal und braucht kein Konto. Behandeln Sie die zurückgegebene Anzahl als maßgeblich für die aufgelisteten Arrays, statt die Länge in Client-Code neu zu berechnen, der von diesem Vertrag abweichen könnte.
Anwendungsfälle
Prüfung von Hausaufgaben und Wettbewerben
Vergleichen Sie die geordnete Kompositionsliste einer Schülerin für ein gegebenes n mit der kanonischen Vollaufzählung und Anzahl, statt unvollständige Handbäume zu bewerten.
Kombinatorik-Erkundung und Lehrdemos
Zeigen Sie live, wie die Reihenfolge Kompositionen von Partitionen unterscheidet, und bestätigen Sie, dass die zurückgegebene Anzahl stets zwei hoch n minus eins beträgt.
Häufige Fragen
Wie liste ich alle geordneten Kompositionen einer ganzen Zahl auf?
Die Antwort enthält die Kompositionen als Arrays von Teilen sowie die Anzahl.
Was ist der Unterschied zwischen einer Komposition und einer Partition?
Kompositionen werten die Reihenfolge als bedeutsam (1+2 unterscheidet sich von 2+1). Partitionen ignorieren die Reihenfolge und behalten nur die Multimenge der Teile.
Wie viele Kompositionen hat die 4?
Sie hat 8: 1+1+1+1, 1+1+2, 1+2+1, 1+3, 2+1+1, 2+2, 3+1 und 4. Das stimmt mit 2^(n-1) überein; hat Ihre handgeschriebene Liste weniger Einträge, fehlt etwas.
Warum geht n nur bis 16?
Die Liste verdoppelt sich mit jedem Schritt, um den n wächst, sodass große Werte eine riesige Antwort ergäben. Bis 16 bleibt die vollständige Liste gut lesbar; brauchen Sie nur die Anzahl, genügt die Formel 2^(n-1).
Kommt die Liste immer in derselben Reihenfolge?
Ja. Dasselbe n liefert immer dieselbe Liste in derselben Reihenfolge, aufgebaut, indem jeder mögliche erste Teil vom kleinsten zum größten durchprobiert wird. So können Sie Antworten Zeile für Zeile vergleichen.
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/compositions-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":4}'const res = await fetch("https://api.kit.forhosting.com/numth/compositions-list", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/compositions-list",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/compositions-list", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/compositions-list", 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": 4
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.compositions_list",
"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.
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
Wie die Fähigkeit Kompositionen aufzählt und wann sie ablehnt
Sie senden einen JSON-Körper mit einem einzigen Pflichtfeld n, einer positiven ganzen Zahl mindestens eins und höchstens sechzehn. Werte unter eins scheitern mit invalid_input, weil null und negative Zahlen nach der üblichen Definition keine positiven ganzen Zahlen sind. Werte über der veröffentlichten Obergrenze scheitern ebenfalls mit invalid_input: Die Listengröße verdoppelt sich mit jeder Erhöhung von n, sodass eine unbeschränkte Aufzählung die Antwortgröße und die Worker-CPU sprengen würde; das dokumentierte Maximum hält die vollständige Auflistung für Browser wie API praktikabel.
Wo sich die Liste einsetzen lässt und was sie kostet
Nutzen Sie das kostenlose Browser-Werkzeug, wenn Sie eine schnelle Sichtprüfung für ein kleines n möchten, oder rufen Sie die API auf, wenn ein Skript, ein Notenbuch, ein Generator oder ein Forschungs-Notebook viele Werte jedes Mal gleich auflösen muss. Die API-Nutzung wird vom vorausbezahlten KIT-Guthaben zum veröffentlichten Grundpreis $0.002 pro erfolgreicher Anfrage abgebucht; fehlgeschlagene Validierung wird nicht berechnet.
Integrationsbeispiele
Erzeugung erschöpfender Test-Fixtures
Speisen Sie kleine n-Werte in die API ein und nutzen Sie jede Komposition als Eingabefall für Funktionen, die geordnete Folgen positiver ganzer Zahlen mit einem Budget verarbeiten.
Technische Fragen
Warum weist das Werkzeug große n zurück?
Die Anzahl der Kompositionen ist 2^(n-1). Oberhalb des veröffentlichten Maximums ist die vollständige Liste zu groß, um sie in einer einzelnen Anfrage sicher aufzuzählen, daher scheitert der Aufruf mit invalid_input.
Ist die Liste der ganzzahligen Kompositionen kostenlos?
Das Browser-Widget ist kostenlos und läuft lokal. API-Aufrufe nutzen das vorausbezahlte KIT-Guthaben zum veröffentlichten Grundpreis $0.002; ungültige Eingaben werden nicht berechnet.
Ist das Ergebnis für dasselbe n immer gleich?
Ja. Der Algorithmus ist reine rekursive Aufzählung ohne Zufall oder Zeitstempel, sodass identische Eingaben identisches JSON erzeugen.