1) 504:21=24км/час - скорость теплохода ПРОТИВ течения.
2)24+2=26км/час - СОБСТВЕННАЯ скорость теплохода (так как скорость против течения равна собственной МИНУС скорость реки)
3) 26+2=28 - скорость теплохода ПО течению реки (равна собственной скорости ПЛЮС скорость реки)
4) 504:28=18 час. - за это время теплоход пройдет расстояние 504 км ПО течению реки.
Ответ: 18 часов.