LINUX.ORG.RU
ФорумTalks

Задачка на out-of-box thinking level 2: золото

 


0

3

В магазин нанимается работник, чтобы поработать 4 дня. За каждый день он получает 1кг золота. Платить нужно каждый день. У хозяина есть 2 слитка: 1кг и 3кг. Пилить нельзя. Давать авансом нельзя, так как работник сбежит. Не заплатить нельзя. Нужно платить каждый день. Как это реализовать?

Народ, сорри, я ошибся. Вот корректный вариант:

Работник поступил на работу. Срок: 7 дней. Каждый день нужно платить килограмм золота. У хозяина есть слиток 7кг, и он может его (слиток) распилить на 3 части (то есть сделать 2 распила). На какие 3 части должен распилить хозяин слиток, чтобы каждый день платить работнику 1 кг золота?

Бумажный эквивалент - нельзя.



Последнее исправление: Kroz (всего исправлений: 2)

Хотел бы я такую работу...

PS слабовая задачка.

true_admin
()

Что нельзя распилить, то можно переплавить.

Также можно сказать работнику после дня работы, что его работа больше не нужна.

shimon
()
Ответ на: комментарий от Bad_ptr

вручать ему бумажный эквивалент

Нет

Kroz
() автор топика

привязать работника чтобы не сбежал

Bad_ptr ☕☕
()

Я, наверное устал, но что-то тут не так.
Смотрим:
День первый: Хозяин платит 1кг слитком. Других вариантов нет. Выдача 3кг слитка противоречит условию.
День второй: У хозяина остаётся лишь 3кг слиток. Он может его дать сотруднику. Но сотрудник может дать сдачи лишь 1кг, что приведёт в наличию у сотрудника 3кг золота на руках, хотя к концу второго дня у сотрудника должно быть лишь 2кг.
Тупик.

Не. Я спать. Тут какой-то подвох.

Stahl
()

Ну разумеется подразумевается, что работник на момент начала работы ничего не имеет, так ведь?

Stahl
()
Ответ на: комментарий от Stahl

Ну как что? То, что с «пол-оборота» не решается:)

Я ж сказал: level 2.

Kroz
() автор топика

Тогда всё просто: 1, 2, 4.
Причём достаточно просчитать первые 4 дня. Дальше повторение.

Stahl
()

1,2,4

день: отдано работнику, получено сдачи от работника

1: 1, -
2: 2, 1
3: 1, -
4: 4, 1+2
5: 1, -
6: 2, 1
7: 1, -

слишком лёгкая

Алсо, рекомендую организовать всё это в одном топике

jeuta
()
Последнее исправление: jeuta (всего исправлений: 1)
Ответ на: комментарий от jeuta

Блин, только кайф обламываешь.

Проверил - таки да. Мля!

Kroz
() автор топика
Ответ на: комментарий от jeuta

день: отдано работнику, получено сдачи от работника

Да. Мало кто додумывается до того, что можно давать сдачу.

Алсо, рекомендую организовать всё это в одном топике

Мб. Как организовать?

Kroz
() автор топика
Ответ на: комментарий от Kroz

Кидаешь задачи как обычные сообщения, а в оп-посте обновляешь список ссылок на задачи типа вот так:

[https://www.linux.org.ru/forum/talks/10101275?cid=10101633]Заголовок задачи[/url]
jeuta
()

Купить четыре возможности распилить слиток у тех, кто задачку решать не стал. Распилить 6 раз. Очевидный гешефт.

edigaryev
()
Ответ на: комментарий от MiniRoboDancer

А если работник за день слиток потратит?

То на его резюме появится карандашный плюсик, потому что такие вопросы и есть признак thinking outside of the box.

lodin
()

* Честно не читая ответов

Нужно дать работнику первый кусок, потом дать второй и забрать первый, потом снова дать первый, потом дать третий и забрать какой-то ещё т. д. Поехали:

1ый = 1кг
2ой = 2кг
3ий = 4кг

Алгоритм:

0 + 1 = 1
1 + 2 - 1 = 2
2 + 1 = 3
3 + 4 - 2 - 1 = 4
4 + 1 = 5
4 + 2 - 1 = 6
6 + 1 = 7

selivan
()

Out-of-box, это не когда ты замкнут в матмодели, а когда выходишь из нее, оставаясь в рамках задачи. Какой нормальный человек будет думать, что полученное золото сотрудник не обменяет сразу на баксы, которые рассует в трусы стриптизершам или обменяет на к-л другой важный для него неликвид? Потеря контроля над ресурсом равна его пропаже или обесцениванию, иначе смысл тогда всю эту движуху затевать, проще отдать в конце срока разом за один/ноль отпилов, а не согласен — пусть звездует работает в макдональдсе.

Неужели на собеседованиях такие дебильные задачки всерьез оцениваются?

arturpub
()
Ответ на: комментарий от selivan

Поздравляю, вы изобрели двоичную позиционную систему!

unanimous
()

Распилить на 3+4, сложить в стопку, распилить на (2+1)+(2+2) ОДНИМ пилом, потом снова сложить вместе и распилить на ((1+1)+1))+((1+1)+(1+1))

MahMahoritos
()

out-of-box thinking
На какие 3 части должен распилить хозяин слиток, чтобы каждый день платить работнику 1 кг золота?

1. Такая задача у меня во втором классе на олимпиаде была.
2. Никаким o-o-b тут не пахнет.

devl547 👍👍
()

1,2,4, это печально.

+1

+2 -1

+1

+4 -2 -1

+1

+2 -1

+1

qulinxao
()

Работник поступил на работу. Срок: 2^n-1 дней. Каждый день нужно платить килограмм золота. У хозяина есть слиток 2^n-1 кг, и он может его (слиток) распилить на n частей (то есть сделать n-1 распилов). На какие n частей должен распилить хозяин слиток, чтобы каждый день платить работнику 1 кг золота?

Upd. http://ru.wikipedia.org/wiki/Код_Грея

i-rinat ☕☕☕☕
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от MahMahoritos

распилить на (2+1)+(2+2) ОДНИМ пилом

Не получится. Полотно пилы безвозвратно ломается после распиливания одного куска. А полотен у нас всего два.

Xellos
()
Ответ на: комментарий от Kroz

Оказывается, лёгкая задачка. За минуту подобрал.

CYB3R
()

Нахрен работнику ежедневно выдавать кусок, если он его не может сделать ПОТРАЧЕНО? Задача УГ.

madcore
()

1,2,4,неинтересно. Бинарный код. Работает только при условии, что кусок золота, выданный вчера, сегодня можно будет отнять обратно.

И да, я бы на месте работника свинтил после первого дня. Заплатят ли ещё раз — неизвестно, а с килограммом золота можно неплохо устроиться.

Miguel
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.