За последние 24 часа нас посетил 18441 программист и 1608 роботов. Сейчас ищут 1173 программиста ...

Квадраты в прямоугольнике

Тема в разделе "Решения, алгоритмы", создана пользователем Зингер, 8 июн 2018.

  1. Зингер

    Зингер Активный пользователь

    С нами с:
    20 июл 2017
    Сообщения:
    127
    Симпатии:
    7
    Всем привет. Помогите пож-та.
    Есть прямоугольник с известными сторонами (А и Б). В прямоугольнике n равных квадратов. Нужно найти максимальную сторону квадрата.
    В практическом смысле, это нужно, чтобы сделать на странице верстку средствами PHP из n-го кол-ва одинаковых дивов.
    Спасибо.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    вполне возможно, что это решается совсем другими средствами. тем более, что пхп только готовит исходный код страницы, а рендерит это всё безобразие - браузер.
    а так - берешь из пары А-Б минимальное и делишь на кол-во квадратов. на выхлопе получаешь размер который уж точно вписывается в минимальный реквизит прямоугольника. ну а поскольку ты рисуешь квадраты то получится что в прямоугольнике будет занята квадратная область и будет немного пустоты по длинной стороне.
    и да, квадрат это частный случай прямоугольника, но к делу это отношения не имеет.
     
    Зингер нравится это.
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    У квадрата нет максимальной или минимальной стороны, т.к. у него все стороны равны. Если в прямоугольнике один ряд квадратов, то сторона квадрата == строна А (высота) прямоугольника
     
  4. Зингер

    Зингер Активный пользователь

    С нами с:
    20 июл 2017
    Сообщения:
    127
    Симпатии:
    7
    Имелось ввиду, что вписанные квадраты могут быть разными по размеру. Напр. в прямоугольник могут "вписаться" n квадратов 1*1 и столько же квадратов 2*2.

    В том то и дело, что не один ряд.
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @Зингер, во-первых, туда, куда вписываются n квадратов 2x2 - вписываются 4xn квадратов 1x1.
    Во-вторых, вычисли площадь исходного прямоугольника и раздели на количество квадратов.
    Что делать с полученной площадью одного квадрата - вопрос риторический.
     
  6. Зингер

    Зингер Активный пользователь

    С нами с:
    20 июл 2017
    Сообщения:
    127
    Симпатии:
    7
    Познавательно! Что мне делать с этой инфой? 2*2 или 1.98*1.98, а может 1.005*1005... Необходимо выбрать максимальный квадрат.

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

    Правильный ответ от @Ganzal, спасибо. Понял мою мысль. Я уже начал верстку css+php+jQuery.