Member 13432715 Ответов: 3

В чем заключается метод, чтобы решить проблему, как это в C.


Остается прямоугольник площадью I*j метров, а у нас осталось a*a квадратных блоков.Архитектор планировал использовать квадратные блоки,каково необходимое количество квадратов, чтобы покрыть прямоугольный участок, и при необходимости мы можем покрыть больше прямоугольного участка, но не должны разбивать квадраты.

Что я уже пробовал:

Я попытался вычислить прямоугольную площадь и сравнить ее с квадратной площадью, если квадратная площадь есть, я продолжил свой процесс и подсчитал квадратные блоки, а в определенных условиях добавил еще несколько квадратных блоков, чтобы покрыть прямоугольный участок.

Laxmidhar tatwa technologies

Это возможно, когда длина и ширина прямоугольника делятся на стороны квадрата

3 Ответов

Рейтинг:
2

CPallini

Площадь не так уж важна, прямоугольник i,j размеры важны.
Знаете, если Вам ПОВЕЗЕТ a разделяет ровно i, так что вам нужно именно (i/a) (целочисленное деление) клеток инт i направление.
С другой стороны, если вам не так повезло, то в делении есть остаток и вам нужен еще один квадрат, а именно (i/a + 1) квадраты в i направление. Вы можете привести аналогичный аргумент для j направление и легко вычислить, сколько квадратов вам нужно.


Рейтинг:
1

OriginalGriff

Это похоже на домашнюю работу, так что никакого кода:
Начните с вычисления самого большого квадрата, который вы можете поместить в свой текущий прямоугольник,а затем посмотрите, что осталось. Это будет прямоугольная область, поэтому вы можете использовать ту же обработку для создания следующего квадрата.
Если вы знаете минимальный размер квадрата, вы можете сравнить его с размерами прямоугольника, чтобы решить, должны ли вы просто превышать прямоугольник, чтобы поместиться в квадрат.


Рейтинг:
1

Patrice T

Цитата:
В чем заключается метод, чтобы решить проблему, как это в C.

То же самое, что и с любым другим языком программирования.

Возьмите лист бумаги и карандаш, решите задачу вручную и найдите математику.
Вы решили проблему, следуя процедуре, которая является вашим алгоритмом. Вам нужно записать шаги механическим способом (как компьютер). Программа будет следовать этим шагам.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.

Мы не делаем вашу домашнюю работу.