Exercise 1: The goal is to clear up just one room in the hotel. At first glance, it seems reasonable to just pick some room and stick him in there - however, then, as a dutiful manager, we’d need to locate a new room for that guest.
The simplest possible way of making every guest happy (and guaranteeing them all rooms) is to just have everyone move one room higher. So if someone is in room 1, they move to room 2, while the person in room 2 moves to room 3, and so on.
Bonus: If we have to accommodate 50 people, we just have everyone move to their original room number plus 50.
Exercise 2: Now that we’re trying to accommodate an infinite number of people, we need a way of clearing up infinitely many rooms in a way that everyone knows exactly where to go.
We can do this by sending everyone that is already in the hotel to the room with a number twice their original number - for example, again, the guest in room 1 moves to room 2, the guest that is in room 2 moves to room 4, the guest in room 10 to room 20, etc. Now as our new guests come off the bus, they come in and fill in all of the odd rooms, one after the other. All of the guests, both new and old, are quite happily housed in a room, and the Hilbert Hotel has lived up to its promise to always accommodate any visitor.
Bonus: If we have two buses to accommodate, send everyone in the hotel to three times their room number, send everyone on the first bus (assume they’re numbered) to room number 3(n-1)+1 and everyone on the second bus (again, numbered) to room number 3(n-1)+2.