Clear[n, V, M];
g = 1000;
r = 1.003;
jMaximum  =  3000;
n[0] = g;
V[0] = 1/(2  g);
M[0] = 0;
n[j_] := n[j] = (r) n[j - 1];
V[j_] := V[j] = 
          V[j - 1] + 
            1/(4  r n[j - 1]) (1 - M[j - 1]);
\(\(M[j_] := \(M[j] = 
          n[j - 1]/\((n[j - 1] - 1)\)\ \((V[j - 1] - 
                1/\((2  n[j - 1])\) \((1 + 
                      M[j - 1])\))\)\);\)
\)
ListPlot[Table[N[n[j]], {j, 0, jMaximum}], 
        PlotRange -> {0, N[n[0] r^jMaximum]}, 
        PlotJoined -> True];
ListPlot[Table[N[V[j]], {j, 0, jMaximum}], 
        PlotRange -> {0, 0.1}, PlotJoined -> True];
ListPlot[Table[N[M[j]], {j, 0, jMaximum}], 
        PlotRange -> {0, 0.1}, PlotJoined -> True];