Calcolatore del principio fondamentale del conteggio
Tre camicie, quattro pantaloni e due paia di scarpe danno 24 abbinamenti diversi. Indichi quante opzioni offre ogni fase e ottenga il numero esatto di combinazioni, anche quando il risultato ha centinaia di cifre. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Stadi
- 3, 4, 2
- Totale
- 24
- Stadi
- 3
- Conteggi
- 3, 4, 2
- Cifre
- 2
Il principio fondamentale del conteggio — chiamato anche regola del prodotto — afferma che quando un processo si svolge in fasi, e ogni fase offre un numero fisso di scelte, il numero totale di risultati possibili è semplicemente il prodotto di tali quantità. Tre camicie, quattro pantaloni e due paia di scarpe formano 3 × 4 × 2 = 24 abbinamenti.
Cosa dice davvero la regola del prodotto
Immagini una decisione presa in più passaggi indipendenti. Al primo passaggio può scegliere una tra c1 opzioni; qualunque cosa abbia scelto, il secondo passaggio offre comunque c2 opzioni; il terzo ne offre c3, e così via. Il principio fondamentale del conteggio stabilisce che il numero totale di percorsi completi e distinti attraverso tutti i passaggi è c1 × c2 × … × ck.
Un menù con quattro antipasti, sei secondi e tre dolci produce quindi 4 × 6 × 3 = 72 pasti diversi di tre portate. L'ipotesi chiave è che il numero di scelte in ogni fase non dipenda da ciò che è stato scelto prima: ogni ramo dell'albero decisionale ha la stessa ramificazione a un dato livello. Quando questa ipotesi è valida, non è mai necessario disegnare l'albero — una sola moltiplicazione fornisce il conteggio.
Aritmetica esatta per conteggi molto grandi
I prodotti crescono in fretta, ed è proprio per questo che i problemi di conteggio si risolvono con la moltiplicazione anziché con l'enumerazione. Dieci fasi con dieci opzioni ciascuna producono già dieci miliardi di risultati, e gli spazi di configurazione realistici — password, targhe, varianti di prodotto, piantine dei posti — superano regolarmente ciò che un numero in virgola mobile a 64 bit può rappresentare esattamente. I numeri di JavaScript perdono precisione silenziosamente oltre 2^53, il che corromperebbe un conteggio come 26^10.
Questo calcolatore esegue l'intero prodotto con interi a precisione arbitraria, quindi ogni cifra della risposta è esatta, e restituisce il totale come stringa decimale affinché nessun tipo numerico lato client possa deteriorarlo alla ricezione. I limiti pratici sono generosi anziché infiniti: fino a mille fasi, ciascuna con un conteggio fino a un miliardo.
Validare gli input e leggere l'output
Ogni numero di scelte di fase deve essere un intero positivo. Lo zero viene rifiutato — una fase con zero scelte rende impossibile l'intero processo, e restituire zero in silenzio nasconderebbe un errore di modellazione — così come le frazioni, i numeri negativi e le stringhe non numeriche. Quando l'input è valido, la risposta riporta le quantità normalizzate, indica quante fasi sono state moltiplicate e fornisce il totale come stringa decimale insieme al suo numero di cifre.
Casi d'uso
Contare le combinazioni di menù o prodotti
Moltiplichi le opzioni per categoria — taglie, colori, finiture — per sapere quante varianti distinte un catalogo contiene davvero.
Dimensionare uno spazio di password o codici
Calcoli 10^6 per un PIN a sei cifre o 26^8 per un codice di otto lettere per ragionare sulla resistenza alla forza bruta in una revisione di sicurezza.
Generare esercizi per una lezione di matematica
Inserisca numeri di fasi casuali da uno script didattico e ottenga la soluzione esatta dei problemi sulla regola del prodotto senza aritmetica manuale.
Domande frequenti
Quanto costa?
È anche gratuito eseguirlo nel Suo browser su questa pagina — lo stesso codice alimenta entrambi.
Che cos'è il principio fondamentale del conteggio?
La regola secondo cui, quando un processo ha fasi con c1, c2, ..., ck scelte ciascuna, il numero totale di risultati è il prodotto c1 × c2 × … × ck.
Perché lo zero viene rifiutato come numero di scelte?
Una fase con zero scelte significa che non esiste alcun risultato completo. Restituire un errore invece di uno zero silenzioso evidenzia quello che è quasi sempre un errore di modellazione.
Quanto può essere grande il risultato?
Arbitrariamente grande entro i limiti: fino a 1000 fasi con conteggi fino a 1000000000 ciascuno. Il totale è calcolato con interi grandi e restituito come stringa decimale esatta.
Il mio input viene archiviato?
No. Le quantità vengono moltiplicate in memoria ed eliminate; viene restituito solo il risultato.
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/math/fundamental-counting-principle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"stages":[3,4,2]}'const res = await fetch("https://api.kit.forhosting.com/math/fundamental-counting-principle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"stages": [
3,
4,
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/fundamental-counting-principle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"stages": [
3,
4,
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/fundamental-counting-principle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"stages":[3,4,2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"stages":[3,4,2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/fundamental-counting-principle", 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
{
"stages": [
3,
4,
2
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.fundamental_counting_principle",
"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_stages | 1000 |
max_count | 1000000000 |
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
Questa API riceve un array con i numeri di scelte per fase e restituisce quel prodotto in modo esatto, usando un'aritmetica a interi grandi che mantiene la risposta precisa anche quando ha centinaia di cifre.
Cosa dice davvero la regola del prodotto
Questo endpoint applica esattamente quella regola: Lei invia i numeri di scelte per fase come array e riceve il prodotto esatto insieme al numero di fasi e alla lunghezza in cifre del risultato, così da poter verificare gli ordini di grandezza a colpo d'occhio.
Aritmetica esatta per conteggi molto grandi
Questo copre ogni esercizio da manuale e qualsiasi spazio di configurazione reale con cui probabilmente lavorerà tramite script, mantenendo la versione gratuita del browser istantanea e il costo dell'API limitato.
Validare gli input e leggere l'output
Quando la validazione fallisce, l'API risponde con un errore invalid_input che indica la posizione esatta del problema, per esempio stages[2], in modo che uno script possa segnalarlo direttamente. Usi lo strumento del browser in questa pagina per sperimentare in modo interattivo — esegue esattamente lo stesso codice dell'API — e passi all'API quando deve integrare il conteggio in un generatore di lezioni, in un sistema di inventario o in una suite di test. Ogni richiesta API costa $0.002, senza archiviazione dei Suoi dati: i numeri vengono calcolati ed eliminati.