Calcolatore di combinazioni
Scopra in quanti modi può scegliere elementi quando l'ordine non conta: 3 libri qualsiasi tra 10 per un fine settimana danno 120 selezioni diverse, C(10,3), con un risultato sempre esatto. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Totale elementi (≥0)
- 10
- Resistenza (Ω)
- 3
- Quantità
- 120
Il coefficiente binomiale risponde a una semplice domanda di conteggio: dati n elementi distinti, in quanti modi può scegliere un sottoinsieme di dimensione r quando l'ordine non conta? Quella quantità si scrive C(n,r), n sceglie r o nCr, ed è uguale al fattoriale di n diviso il fattoriale di r per il fattoriale di (n meno r). Questa capacità valuta quella formula con aritmetica BigInt così i coefficienti grandi restano esatti invece di superare il floating-point o i limiti degli interi sicuri.
Cosa significa n sceglie r e perché conta BigInt
Le combinazioni contano selezioni non ordinate. Se ha dieci libri e vuole tre qualsiasi per una borsa del fine settimana, il numero di borse distinte è C(10,3), che si espande nel fattoriale di dieci su fattoriale di tre per fattoriale di sette e vale centoventi. L'ordine non conta: scegliere il libro A, poi B e poi C è la stessa combinazione di C, B e A; perciò le combinazioni sono più piccole delle permutazioni con gli stessi n e r.
La forma fattoriale classica è facile da scrivere ma disastrosa da valutare in modo ingenuo per n grandi, perché n! cresce più in fretta di quanto qualsiasi tipo intero a larghezza fissa possa contenere molto prima che il rapporto finale sia moderato. Questo strumento quindi moltiplica e divide in un ciclo ridotto—equivalente a costruire il prodotto (n−r+1)…n su 1…r—usando JavaScript BigInt affinché ogni intermedio resti esatto e il conteggio finale sia restituito come stringa decimale.
La simmetria C(n,r)=C(n,n−r) riduce il ciclo a min(r,n−r) passi. Quel contratto coincide con i manuali di combinatoria e con i giudici delle gare di programmazione, così può fidarsi del numero rispetto a calcoli a mano per n piccoli e a tabelle note per n maggiori senza deriva floating-point né wraparound silenzioso.
Come calcolare le combinazioni e leggere il risultato
Il campo n è il numero totale di elementi distinti—l'indice superiore del coefficiente binomiale—e deve essere un intero da zero a diecimila. Il campo r è quanti elementi sceglie—l'indice inferiore—e deve essere un intero da zero a n. Una risposta di successo restituisce n e r come numeri, count come stringa decimale del valore binomiale esatto, e formula come la stringa C(n,r)=n!
/(r!( n-r)!) così i client possono mostrare o registrare l'identità senza codificarla. La usi da correttori di compiti, validatori di gare, sandbox di preparazione ai colloqui, job di arricchimento di fogli di calcolo, demo di probabilità che necessitano di C(n,k) per probabilità binomiali, o qualsiasi flusso che richieda un conteggio di combinazioni riproducibile senza installare pacchetti multiprecisione su ogni macchina della pipeline.
Casi d'uso
Validatori di gare di programmazione e colloqui
Verifichi soluzioni candidate a problemi di conteggio di combinazioni senza reimplementare l'aritmetica binomiale multiprecisione in ogni harness di linguaggio.
Demo di probabilità e modelli binomiali
Ottenga valori esatti di C(n,k) costruendo tabelle di probabilità binomiale o insegnando combinatoria, così i denominatori restano esatti prima di qualsiasi passo di probabilità in floating-point.
Domande frequenti
Cos'è n sceglie r (il coefficiente binomiale)?
C(n,r) conta in quanti modi scegliere r elementi da n distinti quando l'ordine non conta. È uguale a n! / (r! × (n−r)!).
Perché il conteggio è restituito come stringa?
I coefficienti grandi superano gli interi sicuri di JavaScript. Una stringa decimale conserva il valore esatto per ogni n supportato senza perdita di precisione.
Cosa succede se r è maggiore di n o negativo?
Qui le combinazioni sono definite solo per 0 ≤ r ≤ n con interi non negativi.
Il calcolatore di combinazioni è gratuito?
Lo strumento nel browser è gratuito e gira in locale.
In quanti modi posso scegliere 3 libri tra 10?
In 120 modi. Inserisca 10 come totale e 3 come quantità da scegliere; prendere A, B e C è la stessa selezione di C, B e A, quindi l'ordine non aggiunge opzioni.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/combo/combinations \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10,"r":3}'const res = await fetch("https://api.kit.forhosting.com/combo/combinations", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10,
"r": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/combinations",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10,
"r": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/combinations", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10,"r":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10,"r":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/combinations", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"n": 10,
"r": 3
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.combinations",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_n | 10000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Studenti, docenti, data scientist e programmatori di gare ottengono un conteggio JSON deterministico—senza installare un sistema di algebra computazionale, senza campionamento casuale, e con la stessa funzione pura nello strumento gratuito del browser e nel percorso API prepagato—così controlli dei compiti, validazione di pipeline e sandbox di colloquio condividono un'unica risposta riproducibile.
Cosa significa n sceglie r e perché conta BigInt
I casi limite sono ben definiti: C(n,0) e C(n,n) sono sempre uno, C(n,1) uguaglia n, e qualsiasi r maggiore di n o qualsiasi indice negativo viene rifiutato come invalid_input anziché inventare un'estensione.
Come chiamare l'API e leggere la risposta
Invii un corpo JSON con due interi non negativi obbligatori. Gli alias total e N sono accettati con lo stesso significato. Gli alias k, choose e R si mappano su r. La validazione fallita—n o r assenti, non intero, frazione, valore sopra il massimo pubblicato, numero negativo, o r maggiore di n—restituisce invalid_input e non viene mai addebitata. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item e prezzo marginale unitario zero.
Consigli pratici, limiti e intenzioni correlate
Nell'insegnamento, preferisca esempi accoppiati: n uguale a dieci e r uguale a tre produce centoventi; n uguale a cinque e r uguale a zero produce uno; n uguale a cinque e r uguale a sei mostra il rifiuto duro quando r è maggiore di n; e un r negativo mostra il percorso di rifiuto per negativo. Landing fratelli possono mirare a permutazioni, fattoriali o numeri figurati; questa pagina è specificamente per chi cerca un calcolatore di combinazioni, calcolatore nCr o strumento di coefficiente binomiale. Non confonda combinazioni e permutazioni: se l'ordine conta, le serve P(n,r) uguale a n! /(n−r)!, che è un'intenzione e un landing diversi. Mantenga n al massimo a diecimila così il caso peggiore C(10000,5000) termina in fretta sul Worker e nel browser pur coprendo dimensioni di gara e di insegnamento ben oltre l'intervallo sicuro di Number. Se le servono coefficienti multiprecisione con n nelle centinaia di migliaia, usi uno stack di interi grandi dedicato offline: questa capacità leggera di parse è pensata per controlli interattivi, collante API e demo in aula. Poiché la formula moltiplicativa è deterministica, gli studenti possono ricalcolare casi piccoli a mano o con un foglio e allinearsi all'API riga per riga. I task falliti che restituiscono invalid_input non consumano il saldo prepagato, il che tiene economici gli script esplorativi quando gli utenti digita valori errati imparando il contratto. Preferisca conteggi esatti in stringa piuttosto che forzare un Number JavaScript affinché i coefficienti grandi non perdano mai cifre di basso ordine nel trasporto JSON.
Casi di integrazione
Correzione di compiti ed esami sui binomiali
Assegni n e r agli studenti e confronti il loro nCr calcolato a mano con un risultato deterministico dell'API o del browser gratuito, senza ambiguità floating-point.
Domande tecniche
C(n,0) o C(n,n) sono supportati?
Sì. Entrambi valgono 1 per qualsiasi n non negativo valido, incluso n = 0 dove C(0,0) = 1.