**Update 2**: Using `tr` with `ContourPlot` and `ContourPlot3D`:

    ClearAll[tr]
    tr[n_] := (2 n^2  + (-1)^n)/4;

    ContourPlot[Evaluate[(x - tr[#])^2 + y^2 == #^2 & /@ Range[10]],
      {x, -1, 65}, {y, -10, 10}, 
      AspectRatio -> Automatic, PlotRange -> {{-1, 65}, {-15, 15}}, Frame -> False]
[![enter image description here][1]][1]

    ContourPlot3D[Evaluate[(x - tr[#])^2 + y^2 + z^2 == #^2 & /@ Range[10]], 
      {x, -1, 65}, {y, -10, 10}, {z, -15, 15}, 
      Mesh -> None, 
      ContourStyle -> Opacity[.5], BoxRatios -> Automatic, 
      PlotRange -> {{-1, 65}, {-15, 15}, {-15, 15}}, ViewPoint -> Front, 
      Boxed -> False, Axes -> False , PlotPoints -> 60]

[![enter image description here][2]][2]

**Update:** To generate a list of spheres similar to the circles in OP (sphere `k` just touching sphere `k-2`):

    ClearAll[tr]
    tr[n_] := (2 n^2  + (-1)^n)/4;

    Graphics[Circle[{tr @ #, 0}, #] & /@ Range[10]]
[![enter image description here][3]][3]

    Graphics3D[{Opacity[.5], Sphere[{tr @ #, 0, 0}, #] & /@ Range[10]}, Boxed -> False]
[![enter image description here][4]][4]

**Original answer:**

You can use [`Translate`](https://reference.wolfram.com/language/ref/Translate.html) and [`Scale`](https://reference.wolfram.com/language/ref/Scale.html) `Sphere[]` as follows:

    radii = Range[5];

    Graphics3D[Translate[Scale[Sphere[], #], {#^2, 0, 0}] & /@ radii]
[![enter image description here][5]][5]

or translate to leave gaps between spheres:

    translations = 2 Accumulate[radii];

    Graphics3D[MapThread[Translate[Scale[Sphere[], #], {#2, 0, 0}] &, {radii, translations}]]

[![enter image description here][6]][6]


  [1]: https://i.sstatic.net/AqXcy.png
  [2]: https://i.sstatic.net/Et02E.png
  [3]: https://i.sstatic.net/gXosW.png
  [4]: https://i.sstatic.net/a998N.png
  [5]: https://i.sstatic.net/B03CX.png
  [6]: https://i.sstatic.net/U0Skq.png