|
383 / 30 / 3
Регистрация: 17.08.2013
Сообщений: 560
|
|
За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных17.11.2013, 23:32. Показов 9865. Ответов 56
Метки нет (Все метки)
Понимаю, что оффтоп, но задача для острого программерского ума.
Олимпиадная задача для 7 класса, условие: Есть 5 монет. 4 из них по 5 грамм, пятая - неизвестно (либо больше, либо меньше пяти - это неизвестно). Есть грузик на 5 грамм. За 2 взвешивания определить, где монета, которая НЕ 5 грамм.
1
|
|
| 17.11.2013, 23:32 | |
|
Ответы с готовыми решениями:
56
Среди 13 монет есть одна отличающаяся по весу, за 3 взвешивания на чашечных весах найти ее За 3 взвешивания на весах найти из 25 монет фальшивую Взвешивания монет |
| 26.02.2026, 14:17 | ||||
|
Вообще какое-то "упоение" от решения что указано 12 лет назад. Как насчет общности? Как вообще решаются такие задачки (метод)? Стоит немного изменить условие, один вариант уже предлагал выше, ну ладно, еще хотя бы
И что, опять начинать с нуля? Или мы уже знаем как решать?
0
|
||||
|
1121 / 992 / 153
Регистрация: 10.08.2015
Сообщений: 5,448
|
|
| 26.02.2026, 16:59 | |
|
при чем тут вообще программирование? почему админы не перенесут тему куда подальше?
0
|
|
|
27 / 64 / 4
Регистрация: 10.06.2023
Сообщений: 1,063
|
||
| 26.02.2026, 17:07 | ||
|
0
|
||
| 26.02.2026, 19:52 | ||
0
|
||
|
Нарушитель
6697 / 3097 / 1064
Регистрация: 01.06.2021
Сообщений: 11,977
|
||
| 26.02.2026, 23:12 | ||
|
но, видишь ли, Igor3D предлагает написать код, который будет находить решение для произвольного количества монет, типа пользователь вводит количество монет по 5 г, и количество монет не по 5 г, а программа показывает пошагово, как оптимально решать. Можно даже усложнить, сделав так, что нужно ввести вес каждой монеты.
0
|
||
|
27 / 64 / 4
Регистрация: 10.06.2023
Сообщений: 1,063
|
||
| 27.02.2026, 12:57 | ||
|
0
|
||
|
Модератор
|
|
| 27.02.2026, 19:58 | |
|
Мне кажется, что обобщённое решение для одной дефектной монеты и грузика будет строится не по принципу деления на 2 части, а по принципу деления на 3 части.
Имеем некоторое количество монет N. Разделим их на 3 примерно равные группы по M, M и K монет в каждой (M+M+K=N). За 2 взвешивания определяем группу с дефектной монетой: 1. Взвешиваем первые две группы M и M - при равенстве весов принимаем, что дефектная монета в третьей группе 2. Если M и M не равны по весу, то в третьей группе все монеты хорошие и можем сравнить вес третьей группы с первой группой, уравняв количество монет переносом 1-2 монет из первой группы во вторую. Взвешивание позволит оставить первую или вторую (увеличенную) группу на дальнейшее рассмотрение. И так повторять, пока не останется 2-3 монеты. Одна отсеется взвешиванием и останется 2 монеты. В конце останется 2 монеты - сравнить любую из них с грузиком или с одной из признанной эталонной. В программе помимо массива весов будет и массив признаков качества монеты. Это обобщённая идея. Возможно, немного потребующая доработки при реализации.
0
|
|
|
27 / 64 / 4
Регистрация: 10.06.2023
Сообщений: 1,063
|
|
| 28.02.2026, 09:43 | |
|
Что-то мы заговорились! Общая постановка: любое количество монет двух типов является классической задачей кластеризации. Решать ее при помощи программы можно многими способами, а вот найти простейший способ - это высший пилотаж.
0
|
|
|
1121 / 992 / 153
Регистрация: 10.08.2015
Сообщений: 5,448
|
||
| 28.02.2026, 10:58 | ||
|
0
|
||
|
Нарушитель
6697 / 3097 / 1064
Регистрация: 01.06.2021
Сообщений: 11,977
|
|
| 28.02.2026, 11:01 | |
|
VAF34, если будет всего одна фальшивая монета, то любая программа без проблем справится даже с большим количеством монет.
Но вот если поменять задачу и допустить, что фальшивых монет может быть и больше 1, то при большом количестве монет обычные алгоритмы не справятся, поскольку вычислительная скорость очень быстро возрастет. Тут только остаётся два варианта: нейросеть, которая попытается создать эффективную эвристическую стратегию, или квантовый компьютер.
0
|
|
|
27 / 64 / 4
Регистрация: 10.06.2023
Сообщений: 1,063
|
||
| 28.02.2026, 17:31 | ||
|
0
|
||
|
Нарушитель
6697 / 3097 / 1064
Регистрация: 01.06.2021
Сообщений: 11,977
|
|||
| 28.02.2026, 17:57 | |||
|
"если поменять задачу и допустить, что фальшивых монет может быть и больше 1, то при большом количестве монет обычные алгоритмы не справятся, поскольку вычислительная скорость очень быстро возрастет". Напоминаю, что задача состоит в том, чтобы найти самое оптимальное решение. Написать говнокод (особенно в эпоху ИИ), который найдет не самый оптимальный порядок взвешиваний может любой школоло. Но нужно, чтобы программа нашла решение задачи с минимальным количеством взвешиваний. И проблема даже не в написании кода, а в том, что программа будет очень долго думать при большом количестве монет, поскольку вычислительная скорость будет быстро расти.
0
|
|||
|
27 / 64 / 4
Регистрация: 10.06.2023
Сообщений: 1,063
|
|
| 28.02.2026, 18:27 | |
|
При любом количестве монет различных весов любой из нас легко справляется. Алгоритм таков: на весы две первых монеты, если равны, то первый вес найден. Откладываем одну из них в первую коробку и сравниваем все оставшиеся с одной из первых, пополняя коробку. Идея понятна. Если первое взвешивание дает неуравновешенное состояние, то перебираем все оставшиеся с первой, отбирая совпадения. Описанное есть черновик алгоритма и никакого отношения к количеству монет ни к быстродействию алгоритм не имеет. Он сам по себе, конечный продукт творчества.
0
|
|
|
Нарушитель
6697 / 3097 / 1064
Регистрация: 01.06.2021
Сообщений: 11,977
|
|||
| 28.02.2026, 18:32 | |||
|
Но я тут писал про совсем другую задачу, в разы сложную, которую нужно решить за минимальное количество взвешиваний.
0
|
|||
| 28.02.2026, 18:49 | ||
). Хотя можно и больше частей, производительность если и упадет, то не сильноРазбиваем на 4 равные части M1, M2, M3, M4 (число монет в частях должно отличаться макс на 1) Взвешиваем любые 2, напр M1, M2 (если надо юзаем грузик) Если равны - отбрасываем взвешенные части, иначе оставшиеся В итоге на каждой итерации число монет вдвое меньше (желанный O(log(N)) Последние итерации (5 и меньше монет) лучше захардкодить. Если же известно что фальшивая точно легче (или точно тяжелее), то все проще, банальное разбиение пополам. И все это, увы, "для одной дефектной монеты" (и только одной). Впрочем, и так можно тупо каждую взвесить с грузом, это O(n), бороться за оптимизацию здесь не актуально
0
|
||
|
Нарушитель
6697 / 3097 / 1064
Регистрация: 01.06.2021
Сообщений: 11,977
|
|
| 28.02.2026, 20:55 | |
|
Igor3D, представь такую задачу: на вход программе задается одно число - размер куба, а дальше задаются разрешимые радиусы сфер и количество доступных сфер для каждого радиуса. Подразумевается, что куб находится в точке (0, 0, 0). Нужно куб максимально заполнить сферами (т.е. важно не максимально возможное количество заполненных сфер, а максимально возможный суммарный объем сфер).
Программа должна вывести для каждой сферы радиус и координату центра. Или чтобы не повторять радиусы, то для каждого использованного радиуса вывести список координат центров сфер. Вот эта задача интересна и имеет прикладное значение. Но вот если поменять условие на "заполняйте куб сферами как хотите", то согласись, что задача превратится в ахинею. То же самое с этой задачей про монеты. Если убрать условие про поиск оптимального решения, то задача решается тривиально и, собственного говоря, тут многие даже описали решение.
0
|
|
|
27 / 64 / 4
Регистрация: 10.06.2023
Сообщений: 1,063
|
|
| 01.03.2026, 08:18 | |
|
0
|
|
| 01.03.2026, 08:18 | |
|
Найти минимальное число взвешиваний монет на чашечных весах, чтобы определить фальшивку
Найти фальшивую монету за заданное количество взвешиваний Какое минимальное количество взвешиваний на чашечных весах потребуется, чтобы гарантированно найти фальшивую монету? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|