Const
N = 30;
Var
A,B:array[1..N] of integer;
i,S,M:integer;
Begin
Randomize;
Write('A(',N,'):');
M:=0;
For i:= 1 to N do
Begin
A[i]:=random(11)-5;
Write(' ',A[i]);
if A[i] > 0 then
Begin
M:=M+1;
B[M]:=A[i];
End
End;
WriteLn;
Write('B(',M,'):');
For i:= 1 to M do
Write(' ',B[i]);
ReadLn;
End.
Предположим, что фальшивая монета легче подлинной.
Разделим монеты на группы по 15 и одну монету отложим в сторону. Взвесим группы по 15. Если весы находятся в равновесии, то фальшивая монета отложена. Если же одна из чаш весов оказалась легче, то фальшивая монета там.
15 монет из легкой чаши снова разделим на 7, 7 и монета в стороне. Повторим взвешивание. Если фальшивая монета не найлена, то из более легкой чаши монетки разделим на 3, 3 и одну.
Повторим взвешивание с лекгой чашей в четвертый раз. 1, 1 и монета в стороне.
Фальшивка найдена не более чем за 4 взвешивания.
C++
P.s структура - struck - похоже на класс. Тебе даны МАССИВЫ.
int main(){
int U[7];
int D[7];
int V[7];
int all = 0;
for(int i = 0; i < 7;i++){
all += U[i];}
for(int i = 0; i < 7;i++){
all += D[i];}
for(int i = 0; i < 7;i++){
all += V[i];}
all /= 21;
cout << all;
};
N - мощность алфавита
I - информационный объем сообщения
i - информационный объем одного символа
N=2^i
Найдем i:
1/16 кб = 2^13/2^4 бит = 2^9 бит
i=2^9/(256*2)=2^9/2^9=1 бит
N=2^i=2^1=2 символа.