Calcolatore partite round-robin: incontri e turni per n squadre
Organizzi un torneo in cui tutti si incontrano una volta: 8 squadre giocano 28 partite in 7 turni da 4 partite, mentre 5 squadre giocano 10 partite in 5 turni. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- N
- 8
- Squadre
- 8
- Partite
- 28
- Incontri
- 28
- Turni
- 7
Un torneo round-robin semplice è il formato classico più equo: ogni squadra gioca contro tutte le altre esattamente una volta. Gli organizzatori hanno ancora bisogno di due numeri prima di prenotare campi, arbitri o fasce di trasmissione — quanti incontri si giocheranno in totale e quanti turni richiederà il calendario se ogni squadra gioca al massimo una volta per turno. Il totale è sempre il coefficiente binomiale n scegli due, scritto n volte n meno uno su due. Il numero di turni dipende dalla parità: quando n è pari il campo si accoppia completamente ogni turno e termina in n meno uno turni; quando n è dispari una squadra riposa ogni turno e il torneo ha bisogno di n turni affinché ogni lato incontri ancora n meno uno avversari. Questa capacità accetta un intero n di squadre di almeno due e restituisce partite, incontri, turni, partite per turno e stringhe brevi di formula calcolati con aritmetica intera pura. I valori sotto due vengono respinti con un errore di validazione chiaro.
Come si contano incontri e turni del round-robin
In un round-robin semplice ogni coppia non ordinata di squadre si incontra esattamente una volta, quindi il totale degli incontri è la formula combinatoria C(n,2) uguale a n volte n meno uno, tutto su due. Due squadre producono un incontro, quattro ne producono sei, cinque dieci e otto ventotto. Quel conteggio non dipende dall'ordine del calendario; solo dall'insieme completo delle coppie.
La lunghezza del calendario è un'altra domanda. Ogni squadra deve giocare n meno uno avversari e può affrontare al più un avversario in un dato turno, quindi ogni lato ha bisogno di n meno uno turni di attività. Quando n è pari, tutte le squadre possono essere accoppiate ogni turno e il torneo termina dopo n meno uno turni con n su due incontri simultanei per turno.
Quando n è dispari, esattamente una squadra ha un bye in ogni turno, quindi servono n turni perché ogni squadra accumuli n meno uno incontri, e ogni turno ospita n meno uno su due partite. Il metodo del cerchio e algoritmi costruttivi affini implementano quei limiti; questa capacità restituisce i limiti stessi senza elencare gli accoppiamenti. Formati correlati ma diversi includono round-robin doppi in cui andata e ritorno contano, sistemi svizzeri che accoppiano per classifica e tabelloni a eliminazione semplice il cui conteggio degli incontri cresce diversamente.
I limiti dichiarati mantengono n da due a centomila inclusi, più che sufficienti per leghe scolastiche, stagioni pro e ladder di esports, mantenendo banale la latenza del livello gratuito.
Dove il dimensionamento round-robin compare nel lavoro reale
Club sportivi e direttori atletici scolastici usano questi numeri per prenotare campi per un'intera stagione di avversari reciproci. Gli operatori di tornei esports dimensionano i gruppi in eventi più ampi affinché ogni pool finisca in un numero noto di turni prima dei playoff. I segretari di conference e leghe confrontano il costo del round-robin semplice con calendari doppi quando i budget di viaggio si restringono.
I pianificatori di broadcast e streaming stimano il volume di incontri per accordi sui diritti; le associazioni arbitrali formano le squadre dai picchi di incontri per turno. Insegnanti e allenatori spiegano l'equità mostrando che ogni squadra gioca lo stesso numero di incontri, poi chiedono agli studenti di calcolare C(n,2) a mano prima di verificare con lo strumento.
Gli ingegneri software che costruiscono prodotti di gestione tornei hanno bisogno di una forma chiusa affidabile invece di loop ad hoc che contano le coppie due volte o dimenticano i bye su campi dispari. Se in seguito le serve una tabella di accoppiamenti esplicita, doppi andata e ritorno, turni di accoppiamento svizzero o matematica di tabelloni a eliminazione, li tratti come intenti di ricerca separati piuttosto che sovraccaricare questa pagina.
Mantenga n entro il limite documentato affinché la latenza del livello gratuito resti prevedibile, e ricordi che i turni qui assumono un incontro per squadra e turno con bye quando il campo è dispari — non giornate multi-incontro né calendari di giorni di riposo.
Casi d'uso
Pianificazione di leghe e stagioni scolastiche
Dimensioni incontri totali e turni del calendario per un round-robin semplice di n club prima di prenotare sedi e arbitri.
Progettazione fase a gironi negli esports
Confronti le dimensioni dei pool affinché ogni squadra giochi una volta contro tutte e il gruppo finisca in un numero noto di turni.
Dimostrazioni di combinatoria in classe
Mostri C(n,2) come veri incontri di torneo e confronti le regole di turni pari e dispari con i calcoli a mano.
Domande frequenti
Quanti incontri in un round-robin di n squadre?
Esattamente C(n,2) = n×(n−1)/2 incontri: ogni coppia si incontra una volta. Ad esempio otto squadre giocano ventotto incontri.
Quanti turni serve un round-robin semplice?
Se n è pari, n−1 turni con n/2 incontri ciascuno. Se n è dispari, n turni con (n−1)/2 incontri ciascuno e un bye per turno.
Cosa succede se n è inferiore a 2?
Un round-robin richiede almeno due squadre; n sotto 2 è respinto e non addebitato.
È un round-robin doppio?
No. Questo calcolatore conta solo un round-robin semplice. I doppi andata e ritorno raddoppiano circa gli incontri e sono un formato separato.
Quanto costa?
Lo strumento browser è gratuito e gira in locale.
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/round-robin \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":8}'const res = await fetch("https://api.kit.forhosting.com/combo/round-robin", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/round-robin",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/round-robin", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/round-robin", 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": 8
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.round_robin",
"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
min_n | 2 |
max_n | 100000 |
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
Lo strumento gratuito del browser e l'API a pagamento condividono un'unica funzione pura, così pianificatori di leghe e pipeline automatiche non divergono mai sullo stesso n.
Come si contano incontri e turni del round-robin
Il percorso è pienamente deterministico — senza semi casuali, orologi, rete né deriva di modello — così lo stesso n produce sempre lo stesso JSON.
Cosa invia e cosa riceve indietro
L'intero n deve essere da due a centomila inclusi. I messaggi di errore nominano il campo in errore e la regola fallita affinché form e script correggano l'input senza indovinare. Fornisca un intero n obbligatorio nel campo n (alias teams, number o N). Campi mancanti, non interi, decimali e qualsiasi n sotto due vengono respinti con invalid_input e non vengono addebitati. In caso di successo la risposta include sempre n e teams normalizzati, games e matches come lo stesso totale C(n,2), rounds per un calendario semplice standard, games_per_round per quella parità, e le stringhe formula_games e formula_rounds per la visualizzazione. Controlli di esempio: n uguale a otto produce ventotto incontri e sette turni con quattro incontri per turno; n uguale a cinque produce dieci incontri e cinque turni con due per turno; n uguale a due produce un incontro e un turno; n uguale a quattro produce sei incontri e tre turni; n uguale a uno o zero produce invalid_input perché un torneo necessita di almeno due squadre; un decimale o una stringa non numerica produce pure invalid_input. Il contratto è JSON stabile adatto a test unitari, dashboard di lega e strumenti di pianificazione batch. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di validazione non consumano il saldo prepagato.
Dove il dimensionamento round-robin compare nel lavoro reale
Poiché questa capacità è un motore di parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma il saldo.