Is there a general formula for finding all subgroups of dihedral groups?

It seems that $\{e\}, \{e,s\}, \{e,rs\}, \{e,r^2s\},…,\{e,r^{n-1}s\}, \{e,r,r^2,…,r^{n-1}\}, D_n$ are always subgroups of $D_n$.

Especially when $n$ is odd, these seem to be the only subgroups.

But when n is even, say $n=4$, then there are also $\{e,s,r^2,r^r2s\}$ and $\{e,rs,r^2,r^3s\}$.

It makes me wonder, is there a general formula/algorithm for finding all subgroups of $D_n$ when $n$ is even?

Solutions Collecting From Web of "Is there a general formula for finding all subgroups of dihedral groups?"

Yes, there is a general classification of all subgroups of $D_n$ for every $n$.

Theorem: Every subgroup of $D_n=\langle r,s \rangle$ is is either cyclic or dihedral, and a complete listing of the subgroups is as follows:

(1) $\langle r^d\rangle$, where $d\mid n$, with index $2d$,

(2) $\langle r^d, r^is \rangle$, where $d\mid n$, $0\le i\le d-1$, with index $d$.

Every subgroup of $D_n$ occurs exactly once in this listing.

For a proof see Theorem 3.1 of Keith Conrad’s notes. Furthermore the cases $n$ even and $n$ odd are discussed in more detail – see section $3$.