[proofplan]
We prove both claims: that every non-zero ideal of $\mathbb{Z}_p$ has the form $p^n \mathbb{Z}_p$, and that the quotient $\mathbb{Z}_p / p^n \mathbb{Z}_p$ is isomorphic to $\mathbb{Z}/p^n\mathbb{Z}$. For the first claim, the key observation is that the $p$-adic absolute value on $\mathbb{Z}_p$ takes values in the discrete set $\{p^{-n} : n \geq 0\} \cup \{0\}$, so any non-zero ideal contains an element of maximal absolute value, and division by that element shows the ideal is principal, generated by the corresponding power of $p$. For the isomorphism, we define a ring homomorphism from $\mathbb{Z}$ to $\mathbb{Z}_p / p^n \mathbb{Z}_p$ via the inclusion and quotient maps, identify its kernel as $p^n \mathbb{Z}$, and prove surjectivity using the density of $\mathbb{Z}$ in $\mathbb{Z}_p$ together with the discreteness of the quotient.
[/proofplan]
[step:Show every non-zero ideal of $\mathbb{Z}_p$ is generated by a power of $p$]
Let $I \subseteq \mathbb{Z}_p$ be a non-zero ideal. The set of absolute values $\{|x|_p : x \in I, \, x \neq 0\}$ is a non-empty subset of $\{p^{-k} : k \geq 0\}$, since every non-zero element of $\mathbb{Z}_p$ satisfies $|x|_p = p^{-v_p(x)}$ with $v_p(x) \geq 0$. The valuations $v_p(x)$ for $x \in I \setminus \{0\}$ form a non-empty subset of $\mathbb{N} \cup \{0\}$, which has a minimum. Let $n = \min\{v_p(x) : x \in I \setminus \{0\}\}$, and pick $x_0 \in I$ with $v_p(x_0) = n$.
We claim $I = p^n \mathbb{Z}_p$. For the inclusion $I \subseteq p^n \mathbb{Z}_p$: let $y \in I$ with $y \neq 0$. Then $v_p(y) \geq n$, so $y = p^n \cdot p^{v_p(y) - n} \cdot u$ for some unit $u \in \mathbb{Z}_p^\times$, giving $y \in p^n \mathbb{Z}_p$. The zero element is also in $p^n \mathbb{Z}_p$.
For the inclusion $p^n \mathbb{Z}_p \subseteq I$: write $x_0 = p^n u_0$ where $u_0 \in \mathbb{Z}_p$ satisfies $|u_0|_p = 1$, so $u_0 \in \mathbb{Z}_p^\times$. Then $p^n = u_0^{-1} x_0 \in I$ (since $I$ is an ideal and $u_0^{-1} \in \mathbb{Z}_p$). For any $z \in p^n \mathbb{Z}_p$, write $z = p^n w$ with $w \in \mathbb{Z}_p$; then $z = w \cdot p^n \in I$.
[guided]
The goal is to show that $\mathbb{Z}_p$ has a very simple ideal structure: the only non-zero ideals are the powers $p^n \mathbb{Z}_p$. The strategy exploits the fact that the $p$-adic valuation $v_p$ takes values in $\mathbb{Z}_{\geq 0}$ on $\mathbb{Z}_p \setminus \{0\}$, and within any non-zero ideal, there is an element with minimal valuation.
Let $I \subseteq \mathbb{Z}_p$ be a non-zero ideal. For each non-zero $x \in I$, the valuation $v_p(x)$ is a non-negative integer (since $x \in \mathbb{Z}_p$ means $|x|_p \leq 1$, i.e., $v_p(x) \geq 0$). The set $\{v_p(x) : x \in I \setminus \{0\}\}$ is a non-empty subset of $\mathbb{Z}_{\geq 0}$, so by the well-ordering of $\mathbb{Z}_{\geq 0}$, it has a minimum. Call it $n$, and choose $x_0 \in I$ with $v_p(x_0) = n$.
Why does $n$ control the ideal? Because $x_0 = p^n u_0$ where $u_0 \in \mathbb{Z}_p$ has $|u_0|_p = |x_0|_p / |p^n|_p = p^{-n}/p^{-n} = 1$, so $u_0 \in \mathbb{Z}_p^\times$ (a unit in the valuation ring has absolute value exactly $1$). Since $u_0$ is a unit, $p^n = u_0^{-1} x_0 \in I$, and therefore $p^n \mathbb{Z}_p \subseteq I$.
Conversely, any non-zero $y \in I$ has $v_p(y) \geq n$ by the minimality of $n$. Writing $y = p^n \cdot p^{v_p(y)-n} \cdot u_y$ where $u_y \in \mathbb{Z}_p^\times$, we see $y \in p^n \mathbb{Z}_p$. The zero element is also in $p^n \mathbb{Z}_p$, so $I \subseteq p^n \mathbb{Z}_p$.
Combining both inclusions: $I = p^n \mathbb{Z}_p$.
[/guided]
[/step]
[step:Define the canonical homomorphism $f_n: \mathbb{Z} \to \mathbb{Z}_p / p^n \mathbb{Z}_p$]
For $n \geq 1$, define the ring homomorphism
\begin{align*}
f_n: \mathbb{Z} &\to \mathbb{Z}_p / p^n \mathbb{Z}_p \\
x &\mapsto \iota(x) + p^n \mathbb{Z}_p,
\end{align*}
where $\iota: \mathbb{Z} \hookrightarrow \mathbb{Z}_p$ is the inclusion (viewing $\mathbb{Z}$ as a subring of $\mathbb{Z}_p$). This is a ring homomorphism because $\iota$ is a ring homomorphism and the quotient map $\mathbb{Z}_p \to \mathbb{Z}_p / p^n \mathbb{Z}_p$ is a ring homomorphism.
[/step]
[step:Identify the kernel of $f_n$ as $p^n \mathbb{Z}$]
An integer $x \in \mathbb{Z}$ lies in $\ker(f_n)$ if and only if $\iota(x) \in p^n \mathbb{Z}_p$, which means $|x|_p \leq p^{-n}$, equivalently $v_p(x) \geq n$. For $x \in \mathbb{Z}$, this holds if and only if $p^n \mid x$, i.e., $x \in p^n \mathbb{Z}$. Therefore $\ker(f_n) = p^n \mathbb{Z}$.
[/step]
[step:Prove surjectivity of $f_n$ using density and discreteness]
The quotient $\mathbb{Z}_p / p^n \mathbb{Z}_p$ is a finite ring of cardinality $p^n$ (since $\mathbb{Z}_p / p\mathbb{Z}_p \cong \mathbb{F}_p$ and $|p^k \mathbb{Z}_p / p^{k+1} \mathbb{Z}_p| = p$ for each $k$). In particular, $\mathbb{Z}_p / p^n \mathbb{Z}_p$ carries the discrete topology as a finite set.
The set $\mathbb{Z}$ is dense in $\mathbb{Z}_p$ (as established in the theorem [$\mathbb{Z}_p$ Is the Closure of $\mathbb{Z}$ in $\mathbb{Q}_p$](/theorems/???)). The quotient map $q_n: \mathbb{Z}_p \to \mathbb{Z}_p / p^n \mathbb{Z}_p$ is continuous (since $p^n \mathbb{Z}_p$ is an open subgroup of $\mathbb{Z}_p$, being the open ball $\{x \in \mathbb{Z}_p : |x|_p \leq p^{-n}\}$). Since $q_n$ is continuous, a surjection, and $\mathbb{Z}_p / p^n \mathbb{Z}_p$ is discrete, the image $q_n(\mathbb{Z}_p)$ equals $\mathbb{Z}_p / p^n \mathbb{Z}_p$. Because $\mathbb{Z}$ is dense in $\mathbb{Z}_p$ and $q_n$ is continuous onto a discrete (hence Hausdorff) space, $q_n(\overline{\mathbb{Z}}) \subseteq \overline{q_n(\mathbb{Z})}$. But in a discrete space every subset is closed, so $\overline{q_n(\mathbb{Z})} = q_n(\mathbb{Z})$. Since $\overline{\mathbb{Z}} = \mathbb{Z}_p$, we get $q_n(\mathbb{Z}_p) \subseteq q_n(\mathbb{Z})$, hence $q_n(\mathbb{Z}) = \mathbb{Z}_p / p^n \mathbb{Z}_p$. This means $f_n = q_n \circ \iota$ is surjective.
[guided]
The surjectivity argument combines two ingredients: the density of $\mathbb{Z}$ in $\mathbb{Z}_p$ (which we proved earlier) and a topological fact about continuous maps into discrete spaces.
The quotient $\mathbb{Z}_p / p^n \mathbb{Z}_p$ is finite: it has $p^n$ elements (this can be seen inductively, or from the fact that $p^n \mathbb{Z}_p$ is the closed ball of radius $p^{-n}$ in $\mathbb{Z}_p$, and $\mathbb{Z}_p$ itself is the closed ball of radius $1$, partitioned into $p^n$ cosets of $p^n \mathbb{Z}_p$). Any finite ring carries the discrete topology.
Now, $q_n: \mathbb{Z}_p \to \mathbb{Z}_p / p^n \mathbb{Z}_p$ is the quotient map, which is continuous. The composition $f_n = q_n \circ \iota$ maps $\mathbb{Z}$ into this discrete quotient. We want to show $f_n$ is surjective.
The key topological observation is: if $X$ is dense in $Y$, and $\psi: Y \to Z$ is a continuous surjection with $Z$ discrete, then $\psi(X) = Z$. Why? In a discrete space, every subset is closed, so $\psi(X) = \overline{\psi(X)} \supseteq \psi(\overline{X}) = \psi(Y) = Z$. (The inclusion $\psi(\overline{X}) \subseteq \overline{\psi(X)}$ holds for any continuous map.)
Applying this with $X = \iota(\mathbb{Z})$, $Y = \mathbb{Z}_p$, $Z = \mathbb{Z}_p / p^n \mathbb{Z}_p$, and $\psi = q_n$: since $\iota(\mathbb{Z})$ is dense in $\mathbb{Z}_p$ and $q_n$ is a continuous surjection onto a discrete space, $q_n(\iota(\mathbb{Z})) = \mathbb{Z}_p / p^n \mathbb{Z}_p$. So $f_n$ is surjective.
[/guided]
[/step]
[step:Apply the first isomorphism theorem to conclude]
By the first isomorphism theorem for rings, $f_n$ induces an isomorphism
\begin{align*}
\mathbb{Z} / \ker(f_n) \xrightarrow{\;\sim\;} \operatorname{im}(f_n).
\end{align*}
Since $\ker(f_n) = p^n \mathbb{Z}$ and $f_n$ is surjective, this gives
\begin{align*}
\mathbb{Z} / p^n \mathbb{Z} \cong \mathbb{Z}_p / p^n \mathbb{Z}_p
\end{align*}
as rings, for each $n \geq 1$.
[/step]