If every subgroup of $G$ is of the form $G^k = \{h^k: h \in G\}$ for some k, show that $G$ is a cyclic group.
This is what I have tried. Let $k$ be the least positive integer such that $<g> = G^k$ for some $g$. Then $g = g_1^k$ and $<g_1 >= G^{k_1}$ with $ k_1 = nk+ r, 0 \le r <k$. Therefore for every $a \in G, a^{k_1} = a^{nk}a^{r}$ with $a^{k_1} \in G^{k_1}$ and $a^{nk} \in G^k = <g> \subset <g_1> = G^{k_1}$ so $a^{r} \in G^{k_1}$ then $G^r \subset G^{k_1}$. Since $G^{k_1}$ is a cyclic group then so is $G^r$. By the maximum of $k$, $r =0$ so $g_1=g_2^{k_1}=g_2^{nk} \in G^k = <g>$. Consequently $g = g_1^k = g^{lk}$. If $o(g) = \infty$ then $lk =1$ and $k =1$ and we’ve done. Otherwise for all $b \in G, b^{ko(g)} =e$. And take $g’$ with maximal order. I have almost done except for the commutativity of $G$.