IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите решить задачу с монетками
Zeratull
сообщение 21.02.2006 13:41
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Помогите решить задачу:

12 монет. Известен способ, как за три взвешивания на весах без гирь среди 12 монет найти фальшивую (отличающуюся от остальных по весу в неизвестную сторону). Для этого при каждом взвешивании на чаши весов нужно класть по 4 монеты. Реализовать такую идентификацию: человек загадывает номер фальшивой монеты и ее особенность (легче или тяжелее других). ЭВМ организует взвешивание, спрашивает, куда отклонилась стрелка весов при каждом опыте, и находит номер фальшивой монеты
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 28.02.2006 15:24
Сообщение #2


Гость






lapp, ты меня извини, но не надо раздувать из мухи слона!
Цитата
Алгоритм (который автор любезно опустил) весьма непростой
Уж куда там... 3 строчки - это уникальный просто по сложности алгоритм... dry.gif

И,
Цитата
Поскольку задача размещена не в Математике, а в Задачах (на Паскале!)
, все дальнейшие рассуждения по поводу сложности алгоритма будут считаться флудом. Я тебя уже предупреждал, кажется? Есть, что сказать по теме - Yor Are Welcome, иначе, извини, I'll have to pull rank!
 К началу страницы 
+ Ответить 
Lapp
сообщение 28.02.2006 18:29
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(volvo @ 28.02.2006 15:24) *

lapp, ты меня извини, но не надо раздувать из мухи слона!
Уж куда там... 3 строчки - это уникальный просто по сложности алгоритм... dry.gif

Volvo, ты прав, сложность алгритма тут абсолютно ни при чем.
Да и сам алгоритм тут тоже абсолютно ни при чем.
По некотором размышлении набросал программу-рыбу.
Строчки заполнить нужной информацией..
Конечно, она не оптимальная.. строки зря тратит..
Некоторые комбинации, видимо, не осуществляются (27 строк на 24 ответа).

uses
CRT;

const
cL='l';
cE='e';
cR='r';

type
tAnswer = (N,L,E,R);

var
i:integer;
c:char;
S:array[1..3,L..R,L..R]of string;
F:array[L..R,L..R,L..R]of string;

const
A:array[1..3]of tAnswer=(N,N,N);

begin
S[1,N,N]:='Left: , Right: . What is heavier?';
S[2,L,N]:='Left: , Right: . What is heavier?';
S[2,E,N]:='Left: , Right: . What is heavier?';
S[2,R,N]:='Left: , Right: . What is heavier?';
S[3,L,L]:='Left: , Right: . What is heavier?';
S[3,L,E]:='Left: , Right: . What is heavier?';
S[3,L,R]:='Left: , Right: . What is heavier?';
S[3,E,L]:='Left: , Right: . What is heavier?';
S[3,E,E]:='Left: , Right: . What is heavier?';
S[3,E,R]:='Left: , Right: . What is heavier?';
S[3,R,L]:='Left: , Right: . What is heavier?';
S[3,R,E]:='Left: , Right: . What is heavier?';
S[3,R,R]:='Left: , Right: . What is heavier?';
F[L,L,L]:='False coin is #.. It is ..';
F[L,L,E]:='False coin is #.. It is ..';
F[L,L,R]:='False coin is #.. It is ..';
F[L,E,L]:='False coin is #.. It is ..';
F[L,E,E]:='False coin is #.. It is ..';
F[L,E,R]:='False coin is #.. It is ..';
F[L,R,L]:='False coin is #.. It is ..';
F[L,R,E]:='False coin is #.. It is ..';
F[L,R,R]:='False coin is #.. It is ..';
F[E,L,L]:='False coin is #.. It is ..';
F[E,L,E]:='False coin is #.. It is ..';
F[E,L,R]:='False coin is #.. It is ..';
F[E,E,L]:='False coin is #.. It is ..';
F[E,E,E]:='False coin is #.. It is ..';
F[E,E,R]:='False coin is #.. It is ..';
F[E,R,L]:='False coin is #.. It is ..';
F[E,R,E]:='False coin is #.. It is ..';
F[E,R,R]:='False coin is #.. It is ..';
F[R,L,L]:='False coin is #.. It is ..';
F[R,L,E]:='False coin is #.. It is ..';
F[R,L,R]:='False coin is #.. It is ..';
F[R,E,L]:='False coin is #.. It is ..';
F[R,E,E]:='False coin is #.. It is ..';
F[R,E,R]:='False coin is #.. It is ..';
F[R,R,L]:='False coin is #.. It is ..';
F[R,R,E]:='False coin is #.. It is ..';
F[R,R,R]:='False coin is #.. It is ..';
for i:=1 to 3 do begin
WriteLn(S[i,A[1],A[2]]);
repeat
c:=ReadKey;
case c of
cL:A[i]:=L;
cE:A[i]:=E;
cR:A[i]:=R;
end;
until A[i] in [L,E,R];
end;
WriteLn(F[A[1],A[2],A[3]])
end.



Сообщение отредактировано: lapp - 28.02.2006 18:29


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 22:07
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"