Цитата(darkdrive @ 20.12.2007 23:29)
хотяб формулу математическую...
Тут, мне кажется, можно помочь. Формулы, тут, правда, нету.
Как я понял, тебе нужно равными квадратами заполнять.
В самом простом варианте -
Проверяешь, не делится ли большее число на меньшее.
Если да - задача решена, меньшее число и есть сторона квадрата.
Если нет - проходишь диапазон от примерно половины меньшего числа до 1 и проверяешь, делятся ли стороны прямоугольника (обе) на это число. Если делится - это ответ.
Примеры:
1. 30х10. 30 делится на 10. Ответ: квадрат 10х10
2. 40х24. 40 не делится на 24. Проверяем, начиная с 12:
12 - 40 не делится
11 - оба не делятся
10 - 24 не делится
9 - оба не дел
8 - оба делятся.
Ответ: 8х8