Prove that every group of order $p^m$ can be generated by $m$ elements, where $p$ is a prime number.
I am thinking about induction.
Base case: if $m=1$, then $|G|=p$. So $G$ is cyclic. Hence, it's generated by $1$ element.
Suppose this is true for all $k<m$.
Now let $|G|=p^m$.
By the class equation, we know that $p$ divides the centre of $G$, $Z(G)$. So the centre is non-trivial.
Hence, $|Z(G)|=p^k$ for some $k\leq m$.
If $k=m$, then by the Fundamental Theorem of Finite Abelian Groups, we're done.
Now we only need to deal with the case $k<m$.
I tried to look for the generators of $G$ from the projection map $\pi: G \rightarrow \frac{G}{Z(G)}$. But I'm a bit stuck here.
Any help will be appreciated!
It seems to me that it makes sense to do induction a little differently.
Let's choose a subgroup $H$ in the group $G$ that $|G:H|=p$ (is there such a subgroup?) Clearly $|H|=p^{m-1}$. By inductive assumption the subgroup $H$ has at most $m-1$ generators. Let $g\in G$ and $g\notin H$. Then $G=\langle H,g\rangle$ (also requires justification). It follows that $G$ has at most $m$ generators.
Addition.
Here is another way to perform induction. It uses only the Lagrange theorem.
Let's construct an increasing chain of subgroups $$ \{e\}=H_0<H_1<H_2<\ldots<H_s=G, $$ where $H_i=\langle H_{i-1},g_i\rangle$, $g_i\notin H_{i-1}$, for each $i$ ($0<i<s$). Since by the Lagrange theorem $|H_i|=p^{k_i}$ and $0=k_0<k_1<\ldots<k_s=m$, the length of this chain is at most $m$, that is, $s\leq m$. Besides, $H_i$ is generated by $i$ elements.