Помогите решить задачу, дауну... На PHP - Вопросы по сайтостроению

Вопрос Помогите решить задачу, дауну... На PHP

Регистрация
14 Сен 2012
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Мальчики решили купить ковры для своей комнаты в общежитии. Их комната -
прямоугольная, размеры - целые числа a и b. Когда ребята спросили в магазине, размеры
квадратных ковров, которые были в продаже, то продавец назвал им целое число c. Какое количество
ковров необходимо приобрести товарищам, чтобы накрыть максимальную площадь комнаты?
Ковры нельзя накладывать и окучивать. Определите также, какая площадь комнаты не будет
накрытой коврами.
 

Kir

Capitan

Kir

Capitan
Регистрация
5 Июл 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
А сложность в чём именно? количество ковров - это floor($c/$a) * floor($c/$b). А не покрытая площадь - это наоборот, $a * $b - floor($c/$a) * floor($c/$b) * pow($c, 2)
 
Регистрация
4 Сен 2013
Сообщения
77
Репутация
5
Спасибо
1
Монет
0
Алгоритм не оптимальный, но есть шансы что поверят что он твой и поставят макимальную оценку. Если же дам полный паркетный алгоритм, то не поверят что ты додумался и написал. function calculate(W, H, w, h) { return Math.max(pack(W, H, w, h), pack(W, H, h, w)); function pack(W, H, w, h) { var n = (W / w | 0) * (H / h | 0); if (W % w >= h && H >= w) { n += pack(W % w, H, h, w); } else if (H % h >= w && W >= h) { n += pack(W, H % h, h, w); } return n; } }
 
Сверху Снизу