Ganzzahl-Kompositionsrechner
Zählen Sie alle geordneten Zerlegungen einer ganzen Zahl in positive Summanden: 5 hat 16 Kompositionen, 4 hat 8, denn 1+3 und 3+1 zählen getrennt. Mit k Teilen grenzen Sie die Anzahl ein. 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
- Positive ganze Zahl zum Komponieren
- 5
- Anzahl
- 16
Eine ganzzahlige Komposition von n ist eine geordnete Schreibweise von n als Summe positiver ganzer Zahlen. Anders als bei Partitionen zählt die Reihenfolge: 1+3 und 3+1 sind verschiedene Kompositionen von vier. Die klassische Kombinatorik beweist, dass es genau zwei hoch n minus eins Kompositionen jedes positiven n gibt und genau C(n−1, k−1) Kompositionen mit präzise k Teilen. Diese Fähigkeit wertet jene Formeln mit BigInt-Arithmetik aus, sodass große Anzahlen als exakte Dezimalzeichenketten bleiben, ohne Gleitkomma- oder sichere Integer-Grenzen zu überschreiten.
Was eine Komposition ist und wie man sie zählt
Eine Komposition schreibt eine positive ganze Zahl als Summe positiver Teile, wobei die Reihenfolge zählt. Die Zahl 4 hat acht davon: 4, 1+3, 3+1, 2+2, 1+1+2, 1+2+1, 2+1+1 und 1+1+1+1. Das Zählprinzip ist anschaulich: Legen Sie n Einsen nebeneinander. Zwischen ihnen gibt es n−1 Lücken, und in jede Lücke setzen Sie ein Pluszeichen oder nicht. Jedes Muster ergibt genau eine Komposition, also gibt es insgesamt 2^(n−1). Wenn Sie genau k Teile verlangen, wählen Sie k−1 der Lücken aus, und die Anzahl ist C(n−1, k−1).
Wann Sie den Rechner brauchen und typische Fehler
Kompositionen tauchen in Kombinatorik-Übungen, bei Wettbewerbsaufgaben und beim Erklären geordneter Summen auf. Für die Zahl 5 liefert der Rechner 16, für genau drei Teile von 5 ergibt sich 6. Der häufigste Fehler ist die Verwechslung mit Partitionen: Dort spielt die Reihenfolge keine Rolle, und 1+3 und 3+1 wären dieselbe Zerlegung. Ein zweiter Fehler betrifft die Grenzen: n muss mindestens 1 sein, und k darf nicht größer als n werden. Große Ergebnisse bleiben exakt, auch wenn n bis zu 10 000 beträgt.
Was Kompositionen sind und wie die beiden Formeln funktionieren
Legen Sie n Einsen in einer Reihe und entscheiden Sie für jede der n−1 Lücken zwischen ihnen, ob Sie ein Trennzeichen einfügen. Jedes Muster von Trennzeichen liefert eine eindeutige geordnete Summe positiver Teile mit Summe n, und jede Komposition entsteht so—daher ist die Gesamtzahl der Kompositionen zwei hoch n minus eins. Wenn Sie genau k Teile verlangen, müssen Sie genau k−1 jener n−1 Lücken für Trennzeichen wählen, das ist der Binomialkoeffizient C(n−1, k−1).
Kleine Prüfung: n gleich vier hat die Kompositionen (4), (1,3), (3,1), (2,2), (1,1,2), (1,2,1), (2,1,1) und (1,1,1,1)—acht Werte, passend zu zwei hoch drei. Genau drei Teile von fünf: C(4,2) ergibt sechs. Dieses Werkzeug multipliziert und dividiert mit JavaScript BigInt, sodass jedes Zwischenresultat exakt bleibt und die endgültige Anzahl als Dezimalzeichenkette zurückgegeben wird, niemals gerundet.
Die Aliase total, N und integer werden mit derselben Bedeutung akzeptiert. Wenn k weggelassen oder leer ist, liefert der Dienst die Gesamtanzahl der Kompositionen zwei hoch n minus eins. Wenn k gesetzt ist, liefert er C(n−1, k−1) und verlangt eins kleiner oder gleich k kleiner oder gleich n.
Eine erfolgreiche Antwort enthält n als Zahl, k als Zahl oder null im Gesamtmodus, count als Dezimalzeichenkette des exakten Werts und formula als die Zeichenkette 2^(n-1) oder C(n-1,k-1), damit Clients die Identität anzeigen oder protokollieren können, ohne sie fest zu codieren. Nutzen Sie es aus Hausaufgaben-Korrektoren, Wettbewerbsvalidierern, Interview-Vorbereitungs-Sandboxes, erzeugenden-Funktionen-Demos oder jedem Workflow, der eine reproduzierbare Kompositionsanzahl braucht, ohne Multipräzisionspakete auf jeder Pipeline-Maschine zu installieren.
Anwendungsfälle
Validierer für Programmierwettbewerbe und Interviewvorbereitung
Prüfen Sie Kandidatenlösungen zu Kompositionszählproblemen, ohne BigInt-Potenzen oder Binomialkoeffizienten in jedem Sprach-Harness neu zu implementieren.
Unterricht zu Sternen und Balken und geordneten Summen
Zeigen Sie, dass Kompositionen von n 2^(n-1) und solche mit genau k Teilen C(n-1,k-1) ergeben, mit live exakten Anzahlen beim Einführen erzeugender Funktionen oder Rekursion.
Häufige Fragen
Was ist eine ganzzahlige Komposition?
Eine Komposition von n ist ein geordnetes Tupel positiver ganzer Zahlen mit Summe n. Die Reihenfolge zählt: (1,3) und (3,1) sind verschiedene Kompositionen von 4.
Wie viele Kompositionen hat eine positive ganze Zahl n?
Genau 2^(n−1) Kompositionen insgesamt. Kompositionen in genau k Teilen betragen C(n−1, k−1).
Warum wird die Anzahl als Zeichenkette zurückgegeben?
Große Zweierpotenzen und Binomialkoeffizienten überschreiten sichere JavaScript-Integers. Eine Dezimalzeichenkette hält den exakten Wert für jedes unterstützte n ohne Präzisionsverlust.
Wie viele Kompositionen von 5 haben genau 3 Teile?
Sechs. Geben Sie 5 als Zahl und 3 als Anzahl der Teile ein: Die Anzahl ist C(4,2), weil Sie 2 der 4 Lücken zwischen fünf Einsen für die Pluszeichen auswählen.
Was passiert, wenn n kleiner als 1 oder k größer als n ist?
Dann wird keine Zahl berechnet, sondern die Eingabe abgelehnt. n muss mindestens 1 sein, und eine Teilezahl k muss zwischen 1 und n liegen, sonst gäbe es keine passende Summe.
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/combo/compositions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/combo/compositions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/compositions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/compositions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/compositions", 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": 5
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.compositions",
"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 | 10000 |
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
Studierende, Lehrende, Wettbewerbsprogrammierer und Dateningenieure erhalten ein deterministisches JSON-Ergebnis—ohne Computeralgebra-Installation, ohne Zufallsstichproben und mit derselben reinen Funktion im kostenlosen Browser-Werkzeug und im vorausbezahlten API-Pfad—sodass Hausaufgabenprüfungen, Pipeline-Validierung und Interview-Sandboxes dieselbe reproduzierbare Antwort teilen, wann immer Kompositionsanzahlen statt ungeordneter Partitionen oder des bloßen Binomialkoeffizienten n-über-r benötigt werden.
Was Kompositionen sind und wie die beiden Formeln funktionieren
Grenzfälle sind beabsichtigt: n muss mindestens eins sein (Null und Negative sind invalid_input, keine freie Erweiterung), k muss, wenn vorhanden, von eins bis n liegen, und das Weglassen von k liefert die Gesamtsumme. Dieser Vertrag entspricht Standard-Lehrbüchern der Kombinatorik und Wettbewerbsrichtern, sodass Sie der Zahl bei manuellen Aufzählungen für kleines n und bekannten Tabellen für größere vertrauen können—ohne Gleitkomma-Drift oder stilles Wraparound.
So rufen Sie die API auf und lesen die Antwort
Senden Sie einen JSON-Body mit der erforderlichen positiven ganzen Zahl n—der Zahl, die Sie komponieren möchten—von eins bis zehntausend. Das optionale Feld k ist die exakte Anzahl der Teile; die Aliase parts, num_parts und K mappen auf k. Fehlgeschlagene Validierung—fehlendes n, n unter eins, keine ganze Zahl, Bruch, Wert über dem veröffentlichten Maximum oder k größer als n—gibt invalid_input zurück und wird nie berechnet. Der Preis ist ein pauschales $0.002 pro erfolgreicher Anfrage mit Unit-Item und null marginalem Stückpreis.
Praktische Tipps, Grenzen und verwandte Absichten
Beim Unterrichten bevorzugen Sie gepaarte Beispiele: n gleich vier ergibt acht Kompositionen insgesamt; n gleich fünf und k gleich drei ergibt sechs; n gleich fünf und k gleich eins ergibt eins (der einzige Teil gleich n); n gleich fünf und k gleich fünf ergibt eins (nur Einsen); n gleich null demonstriert den harten Ablehnungspfad für n unter eins; und k größer als n demonstriert den k-außerhalb-des-Bereichs-Pfad. Geschwisterseiten können Kombinationen (n über r), Multinomialkoeffizienten oder ungeordnete Partitionen abdecken; diese Seite richtet sich speziell an Personen, die einen Ganzzahl-Kompositionsrechner, geordnete Partitionen in positive Teile oder Kompositionen von n in k Teile suchen. Verwechseln Sie Kompositionen nicht mit Partitionen: wenn die Reihenfolge keine Rolle spielt, brauchen Sie die Partitionsfunktion p(n)—eine andere Absicht und eine andere Landingpage. Halten Sie n höchstens bei zehntausend, damit Worst-Case-Potenzen und Binomialkoeffizienten auf dem Worker und im Browser schnell fertig werden und dennoch Wettbewerbs- und Lehrgrößen weit jenseits des sicheren Number-Bereichs abdecken. Wenn Sie Multipräzision mit n in Hunderttausendern brauchen, verwenden Sie offline einen dedizierten Big-Integer-Stack—diese leichte parse-Fähigkeit ist für interaktive Prüfungen, API-Kleber und Klassenzimmer-Demos gebaut. Weil beide Formeln deterministisch sind, können Studierende kleine Fälle durch Aufzählen oder mit einer Tabellenkalkulation nachrechnen und zeilenweise mit der API übereinstimmen. Fehlgeschlagene Aufgaben mit invalid_input verbrauchen kein vorausbezahltes Guthaben, was explorative Skripte günstig hält, wenn beim Lernen des Vertrags falsche Werte eingegeben werden. Bevorzugen Sie exakte Zeichenketten-Anzahlen statt eines erzwungenen JavaScript Number, damit große Zweierpotenzen im JSON-Transport keine niederwertigen Ziffern verlieren.
Integrationsbeispiele
Hausaufgaben- und Klausurbewertung zu Kompositionen
Geben Sie Studierenden n (und optional k) und prüfen Sie ihre manuell gezählten Kompositionen gegen ein deterministisches API- oder kostenloses Browser-Ergebnis ohne Gleitkomma-Mehrdeutigkeit.
Technische Fragen
Was passiert, wenn n unter 1 liegt oder k größer als n ist?
Die Anfrage schlägt mit invalid_input fehl. Dieser Rechner verlangt n ≥ 1 und, wenn k gesetzt ist, 1 ≤ k ≤ n.
Ist der Ganzzahl-Kompositionsrechner kostenlos?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreicher Anfrage; fehlgeschlagene Aufgaben werden nie berechnet.