puzzlegolden coins min
Есть 100 мешков с монетами. Известно, что в одном из них — настоящее золото, а в остальных — фальшивые монеты. На вид монеты совершенно одинаковы (на вкус и запах — тоже).
Также известно, что любая фальшивая монета весит ровно 1 унцию, а любая настоящая — 1,01 унции.
У вас есть весы (точные, показывающие вес). На них можно взвесить хоть все 100 мешков с монетами одновременно. Но вам доступно только одно взвешивание.
Как определить, в каком мешке золото?
Подсказка: мешки можно помечать, а также брать из них любое количество монет.
Посмотреть решениеНужно пронумеровать мешки (от 1 до 100). Затем взять из каждого мешка монеты в соответствии с номером: из мешка № 1 — 1 монету, из мешка № 2 — 2 монеты и т. д. Монеты держать кучками, не смешивать — чтобы знать, из какого мешка какая кучка. Все кучки положить на весы и получить общий вес.
Если бы все монеты на весах были фальшивыми, вместе они весили бы 5050 унций. Но золотые монеты весят 1,01 унции.
Значит, если среди взвешенных монет будет 1 золотая, то общий вес составит 5050,01 унции. И это будет означать, что настоящее золото — в первом мешке.
Если общий вес будет равен 5050,42 унции, значит, золото — в мешке № 42. Вес в 5051 унцию будет означать, что золото — в мешке № 100.
Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…