It really worried me that I couldn't figure out how to work that out. I thought about what I'd do in an interview if I was asked that, and I figured (if I had my laptop) I'd write some code. So I gave myself 5 minutes by the clock, and wrote a little python program that simulated the situation and counted the results. I ran 5 million iterations, which with pypy took 59 seconds. The number I got out was a 97.335% chance of person 100 being in seat 100.
I have 3 questions:
1. Is that the right answer?
2. How are you supposed to work it out?
3. Would working it out the proper way take less than 6 minutes?
Edit: It seemed like too high a number, which is part of why I asked. I looked through my code and found a dumb error - I forgot to remove the seat from the 'available' list if the person finds their assigned seat. That's what happens when you write code on a 5 minute deadline. Now I'm consistently getting 49.9%, which seems more reasonable.