The 100 chair survivor challenge
The loop

while pointer &gt;= len(players):
    pointer = pointer - len(players)


is a long way to say pointer %= len(players).
You'd be in a better position factoring the computations into a function,

def survivor(n):
    skip = 0
    players = [x for x in range (1, n+1)]
    pointer = 0
    while len(players) &gt; 1:
        pointer += skip
        while pointer &gt;= len(players):
            pointer = pointer - len(players)
        players.pop(pointer)
        skip += 1
    return players[0]


and adding an if __name__ == '__main__' clause. This way it is easy to generate first few results.




TL;DR

I did so, generated first 20 numbers,

    1 2 2 2 4 5 4 8 8 7 11 8 13 4 11 12 8 12 2


and search this sequence in OEIS. 

Surprisingly there was a match. A closer inspection demonstrated that the problem is a Josephus problem with eliminating every n-th person. Try to prove, or at least convince yourself, that it is indeed the case.

Further reading revealed that there is a linear solution.