Here's my solution?
If $\operatorname{rank}(A)=n$, which means $A$ is invertable,
then $\operatorname{rank}(A^n)=\operatorname{rank}(A^{n+1})=n$.
Now let's consider the case where $0 \le\operatorname{rank}(A)<n$.
From
$$
\operatorname{rank}(AB) \le
\min\{\operatorname{rank}(A), \operatorname{rank}(B)\}
$$
we get
$$
\operatorname{rank}(A)\ge \operatorname{rank}(A^2)\ge
\cdots \ge \operatorname{rank}(A^n)\ge \operatorname{rank}(A^{n+1}).
$$
Since $0\le \operatorname{rank}(A)<n$,
there exists $i \in \{1,2, \ldots ,n\}$
such that $\operatorname{rank}(A^i)=\operatorname{rank}(A^{i+1})$.
Let $N(A)$ be the nullspace of $A$, then
$$
\operatorname{dim}N(A^{i})=n-\operatorname{rank}(A^{i})
=n-\operatorname{rank}(A^{i+1})=\operatorname{dim}N(A^{i+1})
$$
and also $N(A^{i}) \subseteq N(A^{i+1})$, thus $N(A^{i})=N(A^{i+1})$.
Use this conclusion, for all $x \in N(A^{i+2})$,
$$
A^{i+2}x=0=A^{i+1}(Ax)=A^{i}(Ax)=A^{i+1}x.
$$
Hence, $N(A^{i+2}) \subseteq N(A^{i+1})$. Also $N(A^{i+1}) \subseteq N(A^{i+2})$,
then we have $N(A^{i+1})=N(A^{i+2})$.
By induction, we get
$$
N(A^{i})=N(A^{i+1})=\cdots=N(A^{n})=N(A^{n+1})
$$
so $\operatorname{rank}(A^{n})=n-\operatorname{dim}N(A^{n})
=n-\operatorname{dim}N(A^{n+1})=\operatorname{rank}(A^{n+1})$.