Элементарно!
1) Разбиваем 27 монет на 3 кучки по 9 монет. Сравниваем 2 кучки.
Какая легче - в той и фальшивая монета. Если они равны, то фальшивая в третьей кучке, которую не взвешивали.
Получилась кучка из 9 монет, одна фальшивая. Осталось 2 взвешивания.
2) Точно также разбиваем 9 монет на 3 по 3 монеты и сравниваем две.
Какая легче - в той и фальшивая монета. Если они равны, то фальшивая в третьей кучке, которую не взвешивали.
Получилась кучка из 3 монет, одна фальшивая. Осталось 1 взвешивание.
3) Сравниваем 2 монеты. Какая легче - та и фальшивая.
Если они равны, то фальшивая третья, которую не взвешивали.
Для начала определим истинность каждого отдельно подвыражения
А - 1
В - 0
С - 0
Теперь подставим все это дело в
а) (1+ 0) * 0 -> ( не важно ) всегда будет = 1 (только переход из 1 в 0 = 0)
То есть выражение под (а) истинно = 1
б) (1 * 0) + 0 == (1 + 0 ) * (1 * 0) получаем 0 == 0 это истинна
Ответ: а,б - истинны
P.S - операцию & можно представить как * в математике
операцию | (или) можно представить как + в математике
{Массив задаётся с помощью генератора случайных чисел. после того как он задан, последовательно перебираются все элементы и определяется наименьший элемент.}
procedure minZNmas;
<span> var
</span> mas: array[1..15] of integer;
k: integer;
min: integer; s: string;
begin
randomize;
//Заполнение массива случайными величинами
s:='';
for k:=1 to 15 do begin
mas[k]:=random(800);
s:=s+IntToStr(mas[k])+',';
end;
//Поиск минимального значения
min:=mas[k];
for k:=1 to 15 do
if mas[k]<min then
min:=mas[k];
Application.MessageBox(PChar(s),'Значения массива', MB_ICONINFORMATION);
Application.MessageBox(PChar(IntToStr(min)),'Минимальное значение', MB_ICONINFORMATION);
end;
begin minZNmasend.
<span>Объем = 11 * 1024 = 11264 байт. Соотношение байт с количеством символов - 1 к 1. Значит каждый символ алфавита кодируется одним байтом. В одном байте 8 бит, соответственно мощность алфавита - 2^8 = 256 символов...</span>