Calcolatore di espansione del coefficiente multinomiale
Questo calcolatore di espansione del coefficiente multinomiale conta quanti ordinamenti distinti sono possibili quando elementi diversi vengono distribuiti in gruppi etichettati di dimensioni prestabilite.
Esegui gratis nel browser
Indichi il numero totale di elementi e la dimensione di ogni gruppo. Il calcolatore verifica che tali dimensioni sommino il totale dichiarato, quindi valuta il coefficiente in modo esatto. Poiché il risultato è restituito come stringa decimale, anche i valori oltre l’intervallo degli interi sicuri rimangono completi e non arrotondati. Lo strumento è utile per esercizi di combinatoria, disposizioni con simboli ripetuti, formule di probabilità e test software che richiedono un conteggio affidabile delle partizioni.
Comprenda che cosa conta il coefficiente
Un coefficiente multinomiale estende la nota idea di scegliere un sottoinsieme. Anziché separare una raccolta soltanto in una parte scelta e una rimanente, distribuisce tutti gli elementi distinti tra più gruppi etichettati, le cui dimensioni sono stabilite in anticipo. Per un totale n e dimensioni n1, n2 e successive, il coefficiente è il fattoriale di n diviso per il prodotto dei fattoriali di tutte le dimensioni. Le etichette contano: assegnare tre persone al mattino, tre al pomeriggio e due alla sera è diverso dal creare insiemi senza nome. L’ordine interno a un gruppo non conta, perché scambiare due membri dello stesso gruppo non modifica l’assegnazione. La medesima espressione conta anche le espansioni distinte di una disposizione multinsieme. Per ordinare lettere ripetute, per esempio, si usa una dimensione per ogni simbolo ripetuto. Il risultato è sempre un intero non negativo. È ammesso un gruppo di dimensione zero, che contribuisce con fattoriale uno, mentre un solo gruppo contenente l’intero totale produce coefficiente uno. Questa capacità restituisce il valore esatto anziché un’approssimazione ed è quindi adatta a confronti, correzioni e calcoli esatti successivi.
Fornisca il totale e l’elenco completo delle dimensioni
Invii un oggetto con total e group_sizes. Il totale deve essere un intero non negativo non superiore a diecimila. group_sizes deve essere un array non vuoto di interi non negativi. Soprattutto, ogni dimensione deve appartenere alla stessa partizione completa: la somma delle voci deve uguagliare esattamente total. Con totale otto e dimensioni tre, tre e due, la risposta contiene il coefficiente 560. Ciò significa che otto elementi distinti possono essere assegnati a tre gruppi etichettati di tali dimensioni in 560 modi. La risposta ripete il group_sizes convalidato, affinché Lei possa associare il valore alla partizione corretta. Il coefficiente è una stringa decimale, non un numero JSON, perché i risultati combinatori esatti superano rapidamente il massimo intero rappresentabile in sicurezza da JavaScript. Tratti la stringa come intero nei linguaggi con precisione arbitraria oppure la conservi come testo per visualizzazione e archiviazione. Una richiesta API riuscita costa $0.002. Gli errori di convalida vengono segnalati come input non valido senza correzioni silenziose, così un refuso non può generare una risposta plausibile relativa a un diverso problema matematico.
Interpreti la convalida e mantenga esatti i risultati
Il controllo della somma fa parte del contratto matematico e non è soltanto una comodità. Se total vale dieci ma le dimensioni sommano nove, un elemento non ha destinazione e la partizione richiesta è incompleta. Se sommano undici, richiedono più elementi di quanti ne esistano. In entrambi i casi la capacità rifiuta la richiesta e segnala sia la somma ricevuta sia il totale dichiarato. Rifiuta inoltre frazioni, valori negativi, campi mancanti, un elenco vuoto e totali oltre il limite pubblicato. L’implementazione valuta l’espressione come prodotto di coefficienti binomiali esatti invece di costruire diversi fattoriali enormi e dividerli in seguito. Sceglie dapprima i membri del primo gruppo, quindi il gruppo successivo fra gli elementi rimasti e prosegue fino a esaurirli. Ogni divisione è esatta e l’aritmetica BigInt evita gli arrotondamenti. I risultati sono perciò stabili fra chiamate, browser ed esecuzioni server. Se usa il coefficiente in una probabilità multinomiale, lo converta con una libreria a precisione arbitraria prima di combinarlo con potenze di probabilità. Se conta soltanto gli ordinamenti, mantenga intatta la stringa decimale per non perdere cifre durante l’elaborazione JSON, l’importazione in fogli di calcolo o l’archiviazione in database.
Casi d'uso
Contare disposizioni di simboli ripetuti
Usi la frequenza di ogni simbolo come dimensione del gruppo per ottenere le sequenze distinte senza contare più volte le copie identiche.
Preparare calcoli di probabilità
Calcoli il fattore combinatorio esatto di una massa di probabilità multinomiale prima di applicare le probabilità delle categorie.
Convalidare esercizi di combinatoria
Confronti un’espansione o un conteggio manuale delle partizioni con un risultato esatto e rilevi elenchi incompleti di dimensioni.
Domande frequenti
A quale valore devono sommare le dimensioni dei gruppi?
Devono sommare esattamente total. Una somma minore o maggiore viene rifiutata perché non descrive una partizione completa degli elementi.
Perché il coefficiente viene restituito come stringa?
I coefficienti multinomiali superano presto l’intervallo degli interi sicuri. Una stringa decimale conserva ogni cifra senza arrotondamenti JSON.
La dimensione di un gruppo può essere zero?
Sì. Zero è una dimensione non negativa valida e non aggiunge elementi; il suo fattoriale è uno.
I gruppi sono etichettati?
Sì. La formula conta assegnazioni a posizioni o categorie distinte e non unisce gli ordinamenti che scambiano gruppi interi.
Quanto costa una richiesta API?
Una richiesta API riuscita costa $0.002. Il calcolo è inoltre deterministico e non dipende dalla rete né da un modello.
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/algebra/multinomial-coefficient \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total":8,"group_sizes":[3,3,2]}'const res = await fetch("https://api.kit.forhosting.com/algebra/multinomial-coefficient", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total": 8,
"group_sizes": [
3,
3,
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/multinomial-coefficient",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total": 8,
"group_sizes": [
3,
3,
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/multinomial-coefficient", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total":8,"group_sizes":[3,3,2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total":8,"group_sizes":[3,3,2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/multinomial-coefficient", 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
{
"total": 8,
"group_sizes": [
3,
3,
2
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.multinomial_coefficient",
"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_total | 10000 |
max_groups | 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. |