this makes no sense.
There was $30 to begin with.
$25 to the hotel
$1 to each guy ($3 total)
$2 to bellhop
25 + 2 + 3 = 30.
When you say the guys each paid $9 for the hotel, you are incorrect.
They each paid 8.33 (one paid 8.34) for the room each ($25 total)
They got back $1 each ($3 total)
Bellhop got $2.
So there is no riddle here, you saying that they paid $9 each for the hotel is wrong, because the hotel only got $25.