The Great Battle Conundrum- Who are Alive?
Jelly, 16 bytes
Ḥ,‘$€F&gt;ÐḟðƬF⁴R¤ḟ

Try it online!
Ḥ,‘$€F&gt;ÐḟðƬF⁴R¤ḟ  Main Link
         ðƬ       While the results don't reach a fixed point
Ḥ                 Double each value (killed soldier)
 , $              Pair            with
    €                  each value
  ‘                                    itself incremented
     F            Flatten the result
       Ðḟ         Filter out (remove) elements that are
      &gt;           Greater than the right argument (the number of soldiers)
           F      Flatten the accumulated list of killed soldiers
               ḟ  Filter; remove the killed soldiers from
            ⁴R¤   [1, 2, ..., N], the list of all soldiers