Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
15 / 3 / 0
Регистрация: 18.01.2023
Сообщений: 282

Взвешивания монет

11.03.2023, 13:02. Показов 1107. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано 12 монет, 1 монета либо легче либо тяжелее остальных.
Как за 3 взвешивания определить эту монету.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.03.2023, 13:02
Ответы с готовыми решениями:

За 3 взвешивания на весах найти из 25 монет фальшивую
Доброго всем здравия, на этом форуме была задача, за 3 взвешивания на весах найти из 25 монет, фальшивую. Написал программу, все...

Среди 13 монет есть одна отличающаяся по весу, за 3 взвешивания на чашечных весах найти ее
Известно, что среди 13 монет есть одна отличающаяся по весу (фальшивая - тяжелее она или легче – неизвестно). За 3 взвешивания на чашечных...

За два взвешивания определить которая из пяти монет имеет вес, отличный от остальных.
Понимаю, что оффтоп, но задача для острого программерского ума. Олимпиадная задача для 7 класса, условие: Есть 5 монет. 4 из них по...

19
 Аватар для Серж762
1813 / 884 / 223
Регистрация: 10.02.2018
Сообщений: 3,682
11.03.2023, 13:34
Алгоритм для случая легкой монеты

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Для решения этой задачи можно использовать алгоритм взвешивания в две части: сначала разбить монеты на 
три группы и сравнить две из них, затем сравнить монеты в группе, в которой находится легчайшая монета. 
 
Шаги алгоритма:
 
Разделите монеты на три группы по 4 монеты в каждой.
Взвесьте любые две группы монет. Возможны три сценария:
Если массы групп одинаковы, то искомая монета находится в третьей группе, перейдите к шагу 3.
Если одна группа легче, то искомая монета находится в этой группе, перейдите к шагу 3.
Если одна группа тяжелее, то искомая монета находится в этой группе, перейдите к шагу 3.
Взвесьте две монеты из группы, содержащей легчайшую монету. Возможны два сценария:
Если одна из монет легче, то это искомая монета.
Если обе монеты одинаковой массы, то оставшаяся монета - искомая.
В итоге, нам потребуется только три взвешивания, чтобы найти монету, которая отличается по массе от остальных.
1
1 / 1 / 0
Регистрация: 11.03.2023
Сообщений: 2
11.03.2023, 15:20
"Взвесьте любые две группы монет" - это 2 взвешивания
"Взвесьте две монеты из группы " - это ещё 2 взвешивания
"В итоге, только три взвешивания " - 2+2=3 ?
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,630
11.03.2023, 15:26
Взвесьте две монеты из группы - это 1 взвешивание
0
И тут вот те нате
322 / 209 / 117
Регистрация: 12.07.2016
Сообщений: 555
11.03.2023, 15:34
Цитата Сообщение от Серж762 Посмотреть сообщение
Взвесьте две монеты из группы, содержащей легчайшую монету. ...
Если обе монеты одинаковой массы, то оставшаяся монета - искомая.
Не пойдет - в группе 4 монеты, останутся 2 монеты, а не одна.
Цитата Сообщение от steppankoff Посмотреть сообщение
"Взвесьте две монеты из группы " - это ещё 2 взвешивания
Нет, это одно взвешивание. Положить 2 монеты на весы и узнать, равна ли их масса. То же самое и для групп - 2 группы взвешиваются за один раз, на выходе мы получаем ответ - равны ли массы или есть легчайшая группа/монета.
Алгоритм:
1. Делим на 3 группы по 4 монеты: G1, G2, G3
2. Сравним G1 и G2 (взвесим - 1 раз). Если массы равны, то легкая монета в G3. Если массы не равны, то мы определим легчайшую группу из G1 и G2. По итогу этого шага мы в любом случае знаем легчайшую группу G_min. Израсходовано 1 взвешивание
3. У нас есть легчайшая группа (4 монеты). Одна из 4 монет легче остальных, а у нас остается 2 взвешивания. Разделим монеты на группы по 2 штуки: SG1 и SG2. Взвесим эти группы и найдем SG_min - израсходовано 2 взвешивания. В последнем взвешивании сравним 2 монеты из группы SG_min и найдем легчайшую. Итого 3 взвешивания.
0
1 / 1 / 0
Регистрация: 11.03.2023
Сообщений: 2
11.03.2023, 16:00
подобные рассуждения возможны только в случае если заранее известно, легче или тяжелее особенная монета, в противном случае при первом взаимном взвешивании, при неравновесных весах невозможно понять какую из групп монет взвешивать дальше, а какая с нормальным весом. Видимо для красного словца, составитель задачи или автор темы немного пошалили слепив из двух задач одну пАкрасивще...

Добавлено через 5 минут
нет взаимно взвесьте по две монету из отличной группы - это одно взвешивание.
либо в условии задачи нужно указывать, что весы рычажные мерные гири не использовать.

Добавлено через 8 минут
если теперь это "Алгоритм для случая легкой монеты", то вариантов всего два;
Если одна группа легче, то искомая монета находится в этой группе, перейдите к шагу 3.
Если одна группа тяжелее, то искомая монета находится в этой группе, перейдите к шагу 3.
обединяются в один:
Если одна группа легче, то искомая монета находится в этой группе, перейдите к шагу 3.
Условия этой задачи, написаны кровью мучеников, пытавшихся угадать её логически правильную формулировку.
1
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,630
11.03.2023, 17:06
вот здесь расписано с картинками
https://habr.com/ru/post/447354/
1
11.03.2023, 18:10

Не по теме:

Забавно тут у вас :)

0
15 / 3 / 0
Регистрация: 18.01.2023
Сообщений: 282
11.03.2023, 18:29  [ТС]
SmallEvil, а то

Добавлено через 18 секунд
steppankoff, верно, в этом основная трудность задачи

Добавлено через 1 минуту
afront, да, что-то похожее, надо подумать
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12922 / 6789 / 1818
Регистрация: 18.10.2014
Сообщений: 17,176
11.03.2023, 20:28
Цитата Сообщение от Человек Челов Посмотреть сообщение
Как за 3 взвешивания определить эту монету.
"Взвешивания" на чем? Какого типа весы?
0
15 / 3 / 0
Регистрация: 18.01.2023
Сообщений: 282
11.03.2023, 23:53  [ТС]
рыжачные
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12922 / 6789 / 1818
Регистрация: 18.10.2014
Сообщений: 17,176
11.03.2023, 23:55
Цитата Сообщение от Человек Челов Посмотреть сообщение
рыжачные
Так а почему этот критически важный элемент условия задачи упомянут только в сообщении #11?
0
15 / 3 / 0
Регистрация: 18.01.2023
Сообщений: 282
17.03.2023, 16:47  [ТС]
задача решена.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Делим 12 шаров на 3 и берем по 4 шара.
Пусть первые 4 шара - x;
1.(взвешивание) сравниваем первые 1 часть со 2 частью.
Допустим они равный, тогда 3 часть неравна им,и тогда 2 часть тоже равна x.
Получим что искомый находится в 3 части, назовем ее - x'.
2.(взвешивание) вычтем из x' 3 шара и сравним их с 3 шарами из кучи 'правильных шаров'.
1)(случай) они равны =>x'-3 - искомый.
2)(случай) они не равны =>
искомый в этих трех шарах.Обозначим эти 3 шара за y'.
Зарегистрируем, тяжелее или легче эти 3 'правильных' чем y'.
Разбиваем y' на три шара.
3.(взвешивание) сравним 1 шар и другой шар из y'.
1)(случай) они равны=> тот что остался - искомый.
2)(случай) они неравны=> смотрим соотношение зарегистрированное во 2 взвешивании.
проверяем,если куча с искомым была легче ,то искомый тот который будет поднят рычагом весов, иначе - другой.
деревом или просто графом было бы удобнее
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12922 / 6789 / 1818
Регистрация: 18.10.2014
Сообщений: 17,176
17.03.2023, 19:36
Цитата Сообщение от Человек Челов Посмотреть сообщение
задача решена.
Где ж это она решена? Здесь рассмотрен только случай, когда при первом взвешивании части оказались равны. А если не равны? Что тогда?
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
17.03.2023, 21:01
Цитата Сообщение от Серж762 Посмотреть сообщение
Если одна группа легче, то искомая монета находится в этой группе, перейдите к шагу 3.
Если одна группа тяжелее, то искомая монета находится в этой группе, перейдите к шагу 3.
Произвели взвешивание. Одна группа весит 36, вторая 40. Мы считаем, что первая легче или вторая тяжелее?
0
15 / 3 / 0
Регистрация: 18.01.2023
Сообщений: 282
17.03.2023, 22:39  [ТС]
TheCalligrapher, прошу конкретики

Добавлено через 6 минут
Croessmah, весы рыжачные, но замечание справедливое, не хватает одного шага

Добавлено через 1 минуту
Croessmah, а стоп, нам же известна та тройка в которой шар, так что мы можем заметить что тройка в которой искомый либо легче либо тяжелее

Добавлено через 2 минуты
хотя здесь всеравно вопрос что считать более легким, а что более тяжелым.
если в последнем случае на весы положить по 2 правильных шара на каждую чашу,будет ли это считаться взвешиванием?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12922 / 6789 / 1818
Регистрация: 18.10.2014
Сообщений: 17,176
17.03.2023, 22:45
Цитата Сообщение от Человек Челов Посмотреть сообщение
прошу конкретики
По-моему я выразился достаточно конкретно. Еще раз: что делать, если при первом взвешивании части оказались НЕ равны? В приведенном "решении" этот случай не рассмотрен вообще.
0
15 / 3 / 0
Регистрация: 18.01.2023
Сообщений: 282
17.03.2023, 23:31  [ТС]
TheCalligrapher, nfr

Добавлено через 41 минуту
Croessmah, так, мы знаем в какой из групп искомый шар.
Сначала кладём на весы правильные, а потом группу с неправильным.
И все становится ясно,чаша с правильными либо перевесит,либо подниметься вверх

Добавлено через 58 секунд
TheCalligrapher, надо подумать
0
15 / 3 / 0
Регистрация: 18.01.2023
Сообщений: 282
18.03.2023, 13:49  [ТС]
Code
1
2
3
4
5
6
7
8
рассмотрим второй случай взвешиваем первые четыре и вторые четыре 
Они оказываются неравными.
Вытаскиваем из первой и второй кучи по 3 шара.
1) они равны, тогда берем из 3 кучи по 4 мяча 1.
Сравниваем с оставшимися после того как вытащили по 3 из каждой.
1.Они равны, тогда тот что остался - искомый.
2.Они неравны, тогда тот что сравнивается с правильным - искомый
2)...
Добавлено через 38 секунд
Остался последний случай
0
15 / 3 / 0
Регистрация: 18.01.2023
Сообщений: 282
22.03.2023, 16:09  [ТС]
[[/MATLAB]Все,теперь точно решена
Code
1
2
3
4
5
6
7
2) 1.взятые кучи по 4 оказались неравными.
=> левая куча "правильная"
2.берем 3 из правильной и сравниваем с одной кучей по 3 из первой пары
1)они равны,следовательно оставшаяся - с искомым шаром.
Далее проворачиваем все из 1 части решения(см.выше по сообщениям)
2) они не равны, значит сравниваемая с правильной кучей по 3 и есть содержащая искомый.
Повторяем действие из 1 части задания
Добавлено через 1 минуту
Времени не хватало дорешать, поэтом так поздно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2023, 16:09
Помогаю со студенческими работами здесь

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

Задача на взвешивания (поиск фальшивой монеты)
Нужна простейшая программа

Подбор гирь для взвешивания (исправить ошибку)
программа подбора гирь для взвешивания выдает ошибку не знаю как исправить #include "stdafx.h" #include <iostream> ...

Размен монет
Здравствуйте! Задача такая: на вход даётся сумма, которую нужна разменять на монеты (1,2,5,10 рублей). Необходимо определить все...

Горсть монет
Вчера честный майнер Вася добыл «горсть» криптомонет – новой криптовалюты GoldCoin. Особенности технологии таковы, что каждая монета...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru