Round robin tournament scheduling using divide and conquer
The recursive approach is not necessarily the simplest one here. There is a simple direct construction I am quoting from here. Suppose first that you are trying to schedule $n$ teams, where $n$ is odd. In total there are $n(n-1)/2$ matches to schedule, and in each round at most $(n-1)/2$ matches can take place, so there should be $n$ rounds in total. All computations below are modulo $n$. In round $r$, team $x$ plays against team $r-x$, except for team $r/2$, which stays out. Here is an example for $n=5$:


Round 0: 1–4, 2–3, 0 sits out
Round 1: 0–1, 2–4, 3 sits out
Round 2: 0–2, 3–4, 1 sits out
Round 3: 0–3, 1–2, 4 sits out
Round 4: 0–4, 1–3, 2 sits out


It's easy to prove the correctness of this schedule. Indeed, teams $x$ and $y$ meet in round $x+y$ and in no other round.

If $n$ is even then there are $n(n-1)/2$ matches to schedule, and each round at most $n/2$ can take place, so there should be $n-1$ rounds. Indeed, we take the schedule for $n-1$, and pair up the team sitting out with the extra team. For example, for $n=6$:


Round 0: 1–4, 2–3, 0–5
Round 1: 0–1, 2–4, 3–5
Round 2: 0–2, 3–4, 1–5
Round 3: 0–3, 1–2, 4–5
Round 4: 0–4, 1–3, 2–5


It's again not hard to prove the correctness of the schedule. If $x,y \neq n-1$ then they meet in round $x+y$, while $x$ and $n-1$ meet in round $2x$ (where all computations are modulo $n-1$).