Один маленький намек. Предположим, что вы должны покрыть прямоугольник axn камнями axa . Тогда решение будет " k камней", где ka является первым кратным a , большим или равным n . (Нарисуйте картинку.)
Как перейти на k ? Сделайте деление и посмотрите документацию по функции ceil()
(она вполне стандартна).
Теперь, что произойдет, если мы перейдем к двумерной задаче, то есть, если мы должны покрыть mxn прямоугольник? (Нарисуйте другую картинку, проведите несколько экспериментов.)