потому как сейчас я нахожусь в поиске новой работы, которая бы мне при всех прочих равных еще и нравилась, то достаточно часто хожу на собеседования. меня интересует работа в IT-сфере, так что и собеседования проходят определенным образом. тестерам и "младшим" сотрудникам всегда предлагают решить логическую задачку, а то и несколько. эта часть беседы мне нравится больше всего.
и вот почему.
логические задачи при приеме на работу в
NetCraker,
Sabit,
Magenta, как бы сказать,... это одна и та же
задача.
условие:даны 8 одинаковых бильярдных шаров, один из которых тяжелее. и весы с 2мя чашами (коромысло). определить максимум за 2 итерации, какой из них тяжелее.
далее находится решение. и если вы хотите подумать и решить задачку самостоятельно пока не нажимайте
дальше
решение:
разбиваем шары на 3 кучки: 3, 3 и 2 шара.
кладем на разные чаши весов по 3 шара.
1. если весы в равновесии, то нужный шар находится среди 2х оставшихся шаров. кладем их на разные чаши. одна из них перевешивает. вот он нужный шар.
2. если одна из чашек весов перевешивает, то шар там. далее берем во внимание только более тяжелую кучку. оставляем на одной чаше 1 шар из перевешивающей кучки, на другую кладем еще 1 из нее же. если весы находятся в равновесии, то тяжелее тот шар, который остался не на весах. если одна из чаш перевешивает, то тяжелый шар находится на ней.
все логично и просто.
существует похожая задача и про 9 шаров:
условие:
есть девять полностью одинаковых бильярдных шаров, но один из них тяжёлее, чем остальные. также есть весы типа коромысло. как за два взвешивания определить какой именно шар тяжелее?
решение:
делим шары на три кучки по три шара, кладём на весы две из них. если весы в равновесии, то тяжелый шар в третей кучке, если нет, то в той, которая перевесила. дальше по анологии взвешиваем два шара из более тяжелой кучки. Если весы в равновесии, то искомое - третий шар, если нет, то тот, который перевесил.
как видите, решение то же самое, потому что именно из нее и появилась логическая задача для тестеров.