Ответ:

1) 504:21=24 (км/ч) — скорость теплохода против течения

2) 24+2=26 (км/ч) — собственная скорость теплохода

3) 26+2=28 (км/ч) — скорость теплохода по течению

4) 504:28=18 (часов) — время, за которое теплоход пойдет это расстояние по течению реки