Permutations- und Kombinationsrechner
Finden Sie heraus, auf wie viele Arten sich r von n Elementen auswählen lassen: 2 aus 5 ergibt 10 Kombinationen, wenn die Reihenfolge egal ist, während Permutationen jede Reihenfolge einzeln zählen. Exakte ganze Zahlen für n bis 1000. 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
- Gesamtzahl der Elemente (n)
- 5
- Ausgewählte Elemente (r)
- 2
- Berechnungsmodus
- C
- Ergebnis
- 10
Geben Sie n, r und den Modus (Permutation oder Kombination) ein und erhalten Sie eine exakte Ganzzahl als Zeichenkette.
Bedeutung von P und C
P(n,r) zählt geordnete Auswahlen von r Elementen aus n ohne Zurücklegen, während C(n,r) ungeordnete Auswahlen zählt. Beide verlangen ganze Zahlen n und r zwischen null und eintausend mit r kleiner oder gleich n. Der Modus akzeptiert P, p, permutation, perm für geordnete Zählungen und C, c, combination, comb für ungeordnete, und normalisiert das Echo auf einen einzigen Großbuchstaben.
Die Ergebnisse rufen kein Netz auf und hängen nicht vom Locale ab.
Exakte BigInt-Produkte ohne Gleitkomma-Fakultäten
Permutationen multiplizieren das absteigende Produkt von n über r Faktoren. Kombinationen nutzen denselben Pfad mit exakter Ganzzahldivision durch jeden folgenden Index, nachdem r optional durch min(r, n-r) ersetzt wurde, um weniger Multiplikationen zu brauchen. Floats, Booleans und führende Nullen wie 01 werden auf dem fehlerhaften Feld abgelehnt.
Die Ergebnisse rufen kein Netz auf und hängen nicht vom Locale ab.
Was der Rechner annimmt und ablehnt
Ein führendes Minus wird als negativo vor dem Feldnamen gemeldet. Werte über eintausend scheitern an n oder r. Wenn r größer als n ist, lautet der Match range.
Leere Zeichenketten, Pluszeichen und Dezimalpunkte sind Formatfehler. Diese Regeln halten den Vertrag kurz genug, damit unabhängige Orakel auf jedem signierten Vektor übereinstimmen, ohne Implementierungscode zu lesen. Die Ergebnisse rufen kein Netz auf und hängen nicht vom Locale ab.
Pipeline-taugliche Ausgabe
Erfolgsantworten enthalten immer die normalisierten Ganzzahlen n und r, mode als P oder C, result als minimale Dezimalzeichenkette und formula wie C(5,2) zur Anzeige. Version eins lässt Wiederholungen, Multinomiales und nicht-ganzzahlige Eingaben weg, damit die signierte Oberfläche prüfbar bleibt. Die Ergebnisse rufen kein Netz auf und hängen nicht vom Locale ab.
Anwendungsfälle
Hausaufgaben
nPr und nCr aus dem Buch sofort prüfen.
Ziehungen
Unordered Zählungen mit C(n,r).
Sitzpläne
Geordnete Zuweisungen mit P(n,r).
CI-Tests
Exakte Zeichenketten in der Integration festnageln.
Häufige Fragen
Sind Dezimalzahlen erlaubt?
Nicht in v1. Nur Ganzzahlen 0 bis 1000.
Was ist der Unterschied zwischen Permutation und Kombination?
Eine Permutation zählt geordnete Auswahlen, A und dann B ist also etwas anderes als B und dann A. Eine Kombination ignoriert die Reihenfolge. 2 aus 5 ergibt 10 Kombinationen und doppelt so viele Permutationen, weil sich jedes Paar auf zwei Arten anordnen lässt.
Was nehme ich für Lottoziehungen?
Nehmen Sie die Kombination, denn die Reihenfolge der gezogenen Zahlen ändert den Tipp nicht. Für Sitzordnungen oder Podestplätze, bei denen die Reihenfolge zählt, verwenden Sie die Permutation.
Darf r größer als n sein?
Nein. Sie können nicht mehr Elemente wählen, als vorhanden sind, daher muss r kleiner oder gleich n sein. Beide müssen ganze Zahlen von 0 bis 1000 sein, alles außerhalb wird abgelehnt.
Werden Auswahlen mit Wiederholung gezählt?
Nein. Jede Berechnung geht davon aus, dass ein bereits gewähltes Element nicht erneut gewählt werden kann. Auswahlen mit Wiederholung und Multinomialzahlen sind nicht enthalten, prüfen Sie also, ob Ihre Aufgabe ohne Zurücklegen ist.
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/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)Beispiel-Anfrage
{
"n": 5,
"r": 2,
"mode": "C"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.permutation_combination",
"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 | 1000 |
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
Bedeutung von P und C
Unbekannte Modi nach dem Trim liefern typisiertes invalid_input auf mode.
Exakte BigInt-Produkte ohne Gleitkomma-Fakultäten
Weil jeder Schritt auf BigInt bleibt, sind Werte wie P(1000,3) und C(30,5) exakte Dezimalzeichenketten ohne wissenschaftliche Notation und ohne IEEE-Überraschungen.
Typisierte Fehler und verlässliche Grenzen
Fehlende n, r oder mode erzeugen invalid_input mit klarem Match.
Technische Fragen
Darf r größer als n sein?
Nein. Es wird range geliefert.
Wie groß darf n sein?
Bis 1000 einschließlich.
Ist result eine number?
Es ist eine Dezimalzeichenkette der exakten Ganzzahl.
Im Browser kostenlos?
Ja. Das Widget ist lokal; die API nutzt $0.002.
Nutzt es Math.pow?
Nein. Nur BigInt-Produkte und exakte Divisionen.