![]() |
|
||||||||||
|
|||||
|
__etc, sorry, next time I'll do that.
Я кстати здесь давно был модератором тоже
__________________
Create Interact Group |
|
|||||
|
[+1 31.05.07]
Регистрация: Apr 2007
Сообщений: 41
|
N-количество квадратов
x – количество квадратов, умещающихся в длине прямоугольника (a) y – количество квадратов, умещающихся в ширине прямоугольника (b) Тогда N=x*y Причем, x должно быть кратно a; y должно быть кратно b. Также x/a=y/b=некоторому m (коэффициент). y=m*b x=m*a То есть N=a*m*m*b=S*m*m Пусть дан прямоугольник 3*5 коэффициент m равен 3, тогда N=15*9=135 квадратов со стороной 1/m (сторона квадрата равна a/x или a/(m*a), что равно 1/m) m может быть и не целым (тогда x и y не совсем кратны a и b...) m=v/k, но S*(v*v)/(k*k) обязательно должно давать целое число. так что число N и стороны прямоугольника заранее лучше не определять...только что-то одно... ![]() |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Допустим, надо вписать квадраты. Имеем сетку 8х7 и 52 квадрата для вписывания.
В такую сетку идеально впишутся 7*8 = 56 квадратов со стороной 1. Если нам потребуется вписать 57 квадратов, ищем ближайшую сетку. Ей окажется сетка 8х9, в которую можно вписать 72 квадрата со стороной 7/8. Next: 9х10 и 90 квадратов со стороной 7/9. Так будет продолжаться пока отрезаемая полозка не позволит разместить на ней квадраты, а именно 14х16 после 13х14. |
|
|||||
|
Kikasso, молодец. Остальные двоечники.
http://createinteract.com/_files/fillupStage2.swf?N=212 http://createinteract.com/_files/fillupStage2.zip
__________________
Create Interact Group |
|
|||||
|
незнаю, проверил на нескольких машинах, везде все точно.
Stage.height x Stage.width
__________________
Create Interact Group |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Что-то какие-то квадраты у вас не квадратные))
И я подумал, если взять тот же пример с соотношением сторон 7х8 - после сетки 8х9 следующая будет 8х10 ( с пустым местом по длинной стороне), а уже потом 9х10. |
|
|||||
|
2 Kikasso, я нахожу максимальное число на которое делиться N без остатка.
__________________
Create Interact Group |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|