Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.21;
Скачать: CL | DM;

Вниз

Интересная задачка   Найти похожие ветки 

 
VolJinn   (2007-01-03 13:27) [0]

Здравствуйте!
Помогите, пожалуйста, решить следущее:

При совершении сделки купец получил 12 золотых монет, одинаковых по виду. Ему стало известно, что одна из монет фальшивая, и отличается от настоящей только весом. Для определения фальшивой он пронумеровал монеты от 1 до 12 и провел 3 взвешивания на рычажных весах, обозначив вес каждой монеты ха Vi, i - номер монеты. Результаты взвешиваний таковы:

V1+V2+V3+V4 > V5+V6+V7+V8
V1+V2+V5+V9 < V3+V4+V10+V11
V4+V7+V9+V10 < V1+V3+V6+V12


Какая монета фальшивая?

Помогите, пожалуйста. бьюсь уже вторые сутки, но не могу решить!

Заранее благодарен.


 
vrem   (2007-01-03 13:31) [1]

Это был неправильный купец, в задачниках все какие то странные :)


 
VolJinn   (2007-01-03 13:33) [2]

Ну я вас очень прошу, помогите! Не нужно лишнего стеба, пожалуйста!


 
b z   (2007-01-03 13:34) [3]

V3 ?


 
VolJinn   (2007-01-03 13:34) [4]

Как вы это определили, расскажите пожалуйста


 
TUser ©   (2007-01-03 13:37) [5]

>Как вы это определили, расскажите пожалуйста

Там, где она есть, - масса больше.


 
VolJinn   (2007-01-03 13:37) [6]

Можно поподробнее?


 
b z   (2007-01-03 13:38) [7]

Из 1 взвешивания понятно что V9 ... V12 - нормальные
Из 2 и 3 взвешивания понятно что либо V3 либо V4 - фальшивые
А из 3 взвешивания вроде получаеться V3


 
Johnmen ©   (2007-01-03 13:42) [8]

Этому баяну сайты посвещают и книги пишут...


 
VolJinn   (2007-01-03 13:44) [9]

То есть ит второго взвешивания идет выбор между V3 и V4, так как V1 меньше по весу в сумме с другими, чем вес 3-ей и 4-ой в сумме с другими. Поэтому V1 - не фальшивая. А так как в третьем взвешивании V4 в сумме с другими дает меньший вес, чем V1 и V3 в сумме с другими, и V1 - не фальшивая, то выходит, что и V4 - не фальшивая, а фальшивая - V3. Верно я понял?


 
umbra ©   (2007-01-03 13:47) [10]

все монеты кроме одной одинаковые. в первом неравенстве набор, в который входят 3-я и 4-я монеты весит больше, чем набор из четырех других монет, во втором тоже. С другой стороны, наборы с 5-ой монетой легче других наборов. Значит, после второго взвешивания есть 3 кандидата на фальшивую монету - 3-я, 4-я и 5-я. После третьего взвешивания 5-я отпадает, остаются 2 монеты. Но поскольку в первом взвешивании масса четырех монет, куда входят подозрительные, больше массы других 4-х монет, значит, как ни странно, фальшивая монета тяжелее настоящей :). Значит, это монета номер 3


 
VolJinn   (2007-01-03 13:50) [11]

Но ведь в третьем взвешивании 5-я монета вообще не участвует! А вот 1-я участвует во всех... Или это не имеет значения?


 
umbra ©   (2007-01-03 13:55) [12]

да, первую я упустил, но во втором взвешивании группа, в которую она входит весит меньше, а в первом больше. Значит 1-я монета нормальная.


 
oldman ©   (2007-01-03 15:00) [13]

Скажем так:
Из второго взвешивания 2 вывода:
- одна из 1, 2, 5 легче
- одна из 3, 4 тяжелей
Третье взвешивание все расставляет по местам.


 
Михель ©   (2007-01-03 15:12) [14]

третья однозначно. Тяжелее.
Только это неправильно - поддельная монета должна быть легче, иначе из какого металла ее подделали?


 
vidiv ©   (2007-01-03 15:30) [15]

третья тяжелее однозначно...

program Project2;
{$APPTYPE CONSOLE}
type TVSet=array[1..12] of integer;

procedure Test(V:TVSet);
begin
   Write(
     ord(
       (V[1]+V[2]+V[3]+V[4] > V[5]+V[6]+V[7]+V[8]) and
       (V[1]+V[2]+V[5]+V[9] < V[3]+V[4]+V[10]+V[11]) and
       (V[4]+V[7]+V[9]+V[10] < V[1]+V[3]+V[6]+V[12])
     )
   );
end;
const NullSet:TVSet=(10,10,10,10,10,10,10,10,10,10,10,10);
var VSet:TVSet;
   I:Integer;
begin
   for i:=1 to 12 do begin
       VSet := NullSet;
       inc(VSet[i]);
       Test(VSet);
   end;
   Writeln;
   for i:=1 to 12 do begin
       VSet := NullSet;
       dec(VSet[i]);
       Test(VSet);
   end;
   Writeln;
   Readln;
end.


Вывод:
001000000000
000000000000


 
vidiv ©   (2007-01-03 15:32) [16]

.упс.. не тот тег


 
vidiv ©   (2007-01-03 15:46) [17]

Аналитически:
Если монета не учавствует в звешивании, значит она - честная. Таким образом из всех взвешиваний определяем, что монеты 2 5 6 7 8 9 10 11 12 честные, а среди 1 3 4  есть левая.
Запишем равенства сократив соответствующее количество честных монет:
1 + 3 + 4 > * + * + *
3 + 4 > 1 + *
1 + 3 > 4 + * , где * - масса честной монеты.

сложим последние два неравенства, получим:
1 + 4 + 3 + 3 > 1 + 4 + * + *
Сокращаем 1, 4:
3 3 > * *
откуда следует, что:
3 > *
3 тья монета тяжелее остальных



Страницы: 1 вся ветка

Текущий архив: 2007.01.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.076 c
1-1164842637
Igor_Zal
2006-11-30 02:23
2007.01.21
Stringgrid и Range


2-1167356401
Digest
2006-12-29 04:40
2007.01.21
Из-за чего может выскакивать ошибка?


2-1167867933
Riply
2007-01-04 02:45
2007.01.21
Ожидание начала работы нити.


1-1164375281
DelphiLexx
2006-11-24 16:34
2007.01.21
DBGridEh и OnEditButtonClick


2-1167664055
-John-Doe-
2007-01-01 18:07
2007.01.21
Есть TListView в режиме Raport