Зная ширину и высоту сетки, где количество элементов известно? - PullRequest
0 голосов
/ 22 августа 2011

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

Я бы хотел, чтобы соотношение сторон между шириной и высотой сетки было 1: 1. Даже при таком простом соотношении сторон мне не удается выполнить расчеты.

Может ли кто-нибудь мне помочь?

Пример представлен ниже

Допустим, у меня всего 9 элементов. Ширина и высота сетки будут тогда равны 3. Это легко (используя квадратный корень из количества элементов).

Но как насчет (например) 10 элементов или 11? С 10 элементами я бы хотел, чтобы ширина или высота сетки равнялась 4. То же самое с 11.

Как мне выполнить эти расчеты?

1 Ответ

4 голосов
/ 22 августа 2011

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

Например, Math.Sqrt(11) - это ~ 3,3166, поэтому Math.Ceiling(Math.Sqrt(11)) == 4 - это желаемая высота / ширина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...