Трудный вопрос на собеседовании #5
Скакунов АлександрОпубликовано 1.07.2008 в Учеба
Итак, мы продолжаем серию переводов цикла “Трудные вопросы на собеседовании“.
Задача #5
Рассмотрим торт прямоугольной формы с прямоугольным же сегментом (любого размера и ориентации), вырезанным из него. Как бы вы разделили торт ровно пополам всего одним разрезом?
UPDATE: ответ.
Понравилась статья? Подпишись на обновления по RSS/E-mail






разрезать пополам горизонтально
Линией, проходящей через центры обоих прямоугольников (любая линия, что проходит через центр любого прямоугольника, делит его на 2 равные по площади части). Центры можно находить через пересечения диагоналей.
[:||||:], 7 класс.
дорисовать такой же, как вырезанный, мнимый прямоугольник симметрично центра большого прямоугольника и резать по прямой, что их соединяет
+1 за “Линией, проходящей через центры обоих”
+1 за линией проходящей через центры
+1 за горизонтальный разрез - это гениально!!!
Есть такая книжка “Как сдвинуть гору Фудзи”
Пока что, все “трудные вопросы” взяты оттуда
Присоединяюсь. Второй комментарий есть правильный ответ.
Интересно, а если бы торт был круглый, и вырезали тоже круглый кусок не посередине, тогда бы тоже диагонали проводились?
Нет, но прямая через 2 центра.
Мне когда-то задавали эту задачку на собеседовании в Sonopia
Дело в цетрах масс.
Берем кусок торта в форме гаечного ключа.
Находим центр масс.
Вырезаем из гаечного ключа ботинок. Условно, находим центр масс ботинка.
Рарезаем.
Получится что с обоих сторон прямой находятся равные по весу части. Ну и если условно считать что торт не турецкий, то есть с начинкой там более менее равномерно, то и получаем “равные” куски.
Центр масс, насколько я понимаю - это точка. А разрез - плоскость. Задача, как найти плоскость. Так что нестыковочка получается. Правда, если бы это был шар, то наверно любая бы плоскость проходящая через центр масс, делила б его пополам
#12 - правда.
#13 - вообще то задачу решают (пока что) на плоскости, тоесть разрез посути есть линия… Но если абстрагироваться и на 3D, то любая плоскость, которая проходит через центр мас любого тела и ее нормаль перпендикулярна гравитационному вектору (собсно для Земли направлен “вертикально вниз”, к гравитационному центру, он и определяет измерение веса, g~9.8Н/кг), будет делить тело на равные по весу куски.
Таким образом, чтобы решить задачу в общем случае, мы можем для любых двух тел определить такую плоскость, которая будет проходить через оба центра масс перпендикулярно заданому вектору g.
g=(g1,g2,g3) - заданный. (например (0,-1,0) для с.к. с вертикалью Y)
Центры масс : A1=(x1,y1,z1) A2=(x2,y2,z2)
Плоскость P{(a,b,c),d} Уравнение плоскости ax+by+cz+d=0, вектор нормали (a,b,c) свободный член d.
Итак, система :
ax+by+cz+d=0 - уравнение плоскости
ax1+by1+cz1+d=0 - 1й центр масс на плоскости
ax2+by2+cz2+d=0 - 2й центр масс на плоскости
ag1+bg2+cg3=0 - условие перпендикулярности нормали к g.
4 неизвестных (a,b,c,d), 4 уравнения. В “невиродженому” случае решение однозначно.
Чета я наплужил в системе
Оно в принципе и так понятно, просто лучше взять d=1 (при d!=0) И тогда первого уравнения не нужно, т.к. оно общее, для всех (x,y,z), а останется 3 уравнения и 3 неизвесных….
Или же решать неопределенную систему (3×4), а потом взять любое из решений, т.к. все коэффициенты скейлятся… (x+y+z+1=0 равносильно 2x+2y+2z+2=0)
+1 за 2-й пост
когда я в 8-й клас в лицей лидер поступал там была такаяже задача,
а центр мас как по мне высасывание проблемы из пальца, вес торта тут ни причем
разрезать посерединке в горизонтальной плоскости
+1 за пост №2
Я шоке…..
Дык, третье решение - взять длинный ножик (горизонтально, лезвием вверх), поставить торт на ножик и двигать туда-сюда (вправо-влево) пока две половинки не уравновесятся, потом рубануть по центру мас… и не умничать.
Я когда проходил собеседования в Праге - у меня весьма стеснительно спрашивали о java.util.Vector - они, почему-то, понимали что свинство задавать такие вопросы - хамство по отношению к кандидату.
Условия не полные. Если прямоугольный сегмент вырезан посередине - режем как хотим - посередине горизонтально, вертикально, по диагонали и тп. А вообще смотря на какую должность вакансия. Если на менеджера - правильный ответ “попросил бы специалиста этим заняться и отчитаться” :))
2 Skinhead
Які? Про вектор чи про прямокутники?
І чому хамство?
Хорошую тему подняли, главное очень полезную..
Правильный ответ:
Футболку получает Алексей за предложение оригинального решения задачи.
Всё-таки самый “правильный” вариант - это 20 - и на плоскости подходит и в 3D , даже если торт турецкий или в нем вырезали ботинок - всем достанется поровну.(при определённой сноровке того кто будет резать, правда, если торт не развалиться раньше чем его разрежут
)
Только к этой то задаче программирование вообще каким боком относиться, или это здесь математический кружок? Стойте, а но кого здесь вообще собеседуют?!