2. (1992 Ukrainian Mathematical Olympiad) Find all prime numbers $p$ not exceeding 1000 such that $2p+1$ is a power of a natural number (i.e., there exist natural numbers $m$ and $n, n \geqslant 2$, such that $2p+1=m^n$).
2. If $2 p+1$ is a power of a natural number, i.e., $2 p+1=m^{n}$, then $m$ is an odd number.

Let $m=2 k+1$, then
$2 p+1=(2 k+1)^{n}$.
Thus $2 p=2 k \cdot A$, i.e., $p=k \cdot A$, where $p$ is a prime number, and $A$ is an integer greater than 1.
Since $p$ is a prime number, it follows that $k=1$, hence $m=3$, i.e.,
$2 p+1=3^{n}$.
Given $p \leqslant 1000$, then $3^{n} \leqslant 2001$.
And the powers of 3 not exceeding 2001 are
$3, 3^{2}, 3^{3}, 3^{4}, 3^{5}, 3^{6}$,
Substituting these into equation (1) and calculating one by one, we find that only $2 p+1=3^{3}$ makes $p$ a prime number, at which point $p=13$.
Thus, the only prime number that meets the problem's requirements is $p=13$.