![]() |
1. Заголовок темы должен быть информативным. В противном случае тема закрывается и удаляется ...
2. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
3. Одна тема - один вопрос (задача)
4. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
maksimla |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
дано 48 монет среди них 1 монета фальшивая , но мы не знаем фальшивая монета больше или меньше весит. Надо за 4 взвешивания найти фальшивую монету. Весы для взвешивания чайные. много щитал только за 5 взвешиваний у меня выходит фальшивую монету найти. помогите
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
S!n |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
Это что, надо в Паскале реализовать?
-------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
maksimla |
![]()
Сообщение
#3
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
нет не в паскале просто вычеслить и все математический
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
S!n |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
А сколько монет можно взвешивать за один раз?
-------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
Lapp |
![]()
Сообщение
#5
|
|||
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
нет не в паскале просто вычеслить и все математический Если так - почему в разделе Паскаль?
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
|||
maksimla |
![]()
Сообщение
#6
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
а что форум математики есть?
но эта задача както свезона с информатикой. сколько хочешь но чтобы после 4 взвешиваний нашол 1 монету фальшиваю -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Цитата эта задача както свезона с информатикой. Естественно, эта задача имеет прямое отношение к теории информации...Кстати, М. Гарднер утверждает, что за N взвешиваний можно найти одну фальшивую монету (и указать, легче она или тяжелее) из (3N-3)/2, или одну монету из (3N-1)/2, но без опознавания, легче она или тяжелее, просто указать на фальшивку... У тебя N=4, значит, можно найти фальшивку из (34-1)/2 монет в лучшем случае, а это (81-1)/2 = 40. У тебя же даны 48 монет. Задача нерешаема с этим условием. |
maksimla |
![]()
Сообщение
#8
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
ясно спасибо
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
S!n |
![]()
Сообщение
#9
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
В теории все вполне ясно. А вот как на практике методом Гарднера можно найти фальшивую монету, пусть даже из 40 монет?
-------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата как на практике методом Гарднера можно найти фальшивую монету, пусть даже из 40 монет? В "Компьютерре" в декабре 1997 года (если не ошибаюсь) был приведен подробный алгоритм. К сожалению, ссылку сейчас предоставить не могу, сайт у меня не открывается... Попробуй чуть позже зайти туда и посмотреть в архивах, возможно там есть этот материал. Если нет - напишу подробнее, как ищется фальшивая монета... |
S!n |
![]()
Сообщение
#11
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Стас Репутация: ![]() ![]() ![]() |
Спасибо. Очень хочу посмотреть решение этой задачки. Вчера весь вечер над ней голову ломал )
-------------------- "...Пропитанный злостью и никотином
Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..." |
stoker |
![]()
Сообщение
#12
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: ![]() ![]() ![]() |
program moneys;
var a,b:real;
c:integer;
begin
writeln('Задача: Дано "а" число монет, одна из них фальшивая '#10
'(фальшивая монета весит больше (меньше)) нужно узнать'#10
' за сколько взвешиваний "b" можно найти фальшивую монету,'#10
' или наоборот: найти кол-во монет, которое можно проверить'#10
' за "а" число взвешиваний'#10
' '#10
'Выберите тип задачи:'#10
'1 - Искать число монет.'#10
'2 - Искать число взвешиваний.'#10);
readln(c);
case c of
1:begin
write(' Тип задачи: искать число монет.'#10
'----------------------------------'#10
'Введите число взвешиваний : ');read(b);
a:=(exp(b*ln(3))-1)/2;
writeln(' За ',b,' взвешиваний можно проверить ',a,' монет');
end;
2:begin
write(' Тип задачи: искать число взвешиваний .'#10
'----------------------------------'#10
'Введите число монет : ');read(a);
if a<>1 then
begin
b:=1;
while a*2+1>exp(b*ln(3)) do
begin
b:=b+1;
end;
writeln(a,' монет можно проверить за ',b,' взвешиваний. ');
end
else
writeln('Если имеется всего одна монета, то определить её подлинность нельзя.');
halt;
end;
else writeln(' Неправильно выбран тип задачи, нужно вводить 1 или 2');
end;
end.
|
![]() ![]() |
![]() |
Текстовая версия | 31.07.2025 5:26 |