Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
MBo, Спасибо, исправил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 18:11 |
|
||
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
Еще один заход: 1. Посчитать площадь прямоугольника S = A*B, где A,B - стороны прямоугольника. 2. Поделить площадь на N: q = S/N, где N - количество размещаемых квадратов. 3. Извлечь квадратный корень из результата a = sqrt(q). 4. Если rem(A/a) = rem(B/a) = 0, то сторона искомого квадрата x = a. 5. Поделить стороны прямоугольника на результат a и вычесть остаток от деления из a: ra = a-rem(A/a), rb = a-rem(B/a). 6. Если ra <= rb, то сторона искомого квадрата x = a - ra/(div(A/a)+1), где div(A/a) - целая часть от результата деления A/a. 7. Иначе x = a - rb/(div(B/b)+1). Сорри за ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 18:22 |
|
||
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
wewenami2Gennadiy Usov, Я не понимаю вашу формулу и как реализовать её в коде. У вас стандартная задача. Алгоритмов кода у нее может быть много всяких и разных, в зависимости от ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 19:49 |
|
||
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
д0kХ У вас стандартная задача. Не надо усложнять. ИМХО ТС запугали, wewenami2 - возвращайся, но не проси код, а вникай в алгоритм решения, т.е. внимательно перечитай что посоветовали и переспроси что непонятно. Если ничего непонятно - бросай это дело, не подставляй заказчиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 20:48 |
|
||
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
Я конечно не ui- кодер. И не знаю как у них там принято. Но кмк это очень популярная задача. И её тылу раз решали в каскадных стилях, грибах и Layout managers. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 21:01 |
|
||
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
Гридах. Чортов андроид... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 21:02 |
|
||
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
cronix111Еще один заход: 1. Посчитать площадь прямоугольника S = A*B, где A,B - стороны прямоугольника. 2. Поделить площадь на N: q = S/N, где N - количество размещаемых квадратов. 3. Извлечь квадратный корень из результата a = sqrt(q). 4. Если rem(A/a) = rem(B/a) = 0, то сторона искомого квадрата x = a. 5. Поделить стороны прямоугольника на результат a и вычесть остаток от деления из a: ra = a-rem(A/a), rb = a-rem(B/a). 6. Если ra <= rb, то сторона искомого квадрата x = a - ra/(div(A/a)+1), где div(A/a) - целая часть от результата деления A/a. 7. Иначе x = a - rb/(div(B/b)+1). Сорри за ошибки. Еще дополню (умещение квадратов по горизонтали в прямоугольник еще не гарантирует при этом умещения квадратов по вертикали, и наоборот): 8. Если выполнен п. 6., то по горизонтали помещается n = A/x квадратов. А по вертитикали m = N/n ( +1 при rem(N/n)>0). 9. Если m*x > B, то нужно еще раз уменьшить x, чтобы все уместилось и по-вертикали: x = x - (x-rem(B/x)) / (div(B/x)+1). Тогда весь алгоритм: 1. Посчитать площадь прямоугольника S = A*B, где A,B - стороны прямоугольника. 2. Поделить площадь на N: q = S/N, где N - количество размещаемых квадратов. 3. Извлечь квадратный корень из результата a = sqrt(q). 4. Если rem(A/a) = rem(B/a) = 0, то сторона искомого квадрата x = a. 5. Поделить стороны прямоугольника на результат a и вычесть остаток от деления из a: ra = a-rem(A/a), rb = a-rem(B/a). 6. x1 = a - ra/(div(A/a)+1), где div(A/a) - целая часть от результата деления A/a. 7. x2 = a - rb/(div(B/a)+1). 8. m = N*x1/A ( + 1, если rem(N*x1/A) > 0). 9. n = N*x2/B ( + 1, если rem(N*x2/B) > 0). 10. Если m*x1 > B, то x1 = x1 - (x1-rem(B/x1)) / (div(B/x1)+1). 11. Если n*x2 > A, то x2 = x2 - (x2-rem(A/x2)) / (div(A/x2)+1). 12. Искомый x = max(x1, x2). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 23:30 |
|
||
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
Треш какой-то. Любители алгоритмов... почему вы просто не возьмете шапку Код: plaintext 1. и не напишете как положено реализацию с проверками условия и т.п. как нас учили в универах? Почему хотите писать как Кормен или Кнут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 23:44 |
|
||
|
Вычислить размер квадрата чтобы разместить N-ное кол-во в прямоугольнике
|
|||
|---|---|---|---|
|
#18+
maytonТреш какой-то. Любители алгоритмов... почему вы просто не возьмете шапку Код: plaintext 1. и не напишете как положено реализацию с проверками условия и т.п. как нас учили в универах? Почему хотите писать как Кормен или Кнут? Кормен или Кнут фундаментальные алгоритмисты, они не могли написать методички на все случаи жизни. И даже если написали, то они могут быть не оптимальный при изменении условий. Еще есть универсальная ИТ-шная разумная целесообразность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2018, 16:35 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39606363&tid=1340158]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 28ms |
| total: | 295ms |

| 0 / 0 |
