Жёсткий диск вроде)))))))))))
64 -1 = 63 = 111111 в 2сс. Т.е 6 битов достаточно для хранения номера полки.
На Паскале:
program Program1;
var i, j, n, k: integer;
var result: real;
var array1: array [1..255] of real;
begin
result := 0;
write('Введите значение N (не более 255): ');
readln(n);
for i := 1 to n do
begin
write('Введите значение ', i, ' элемента массива: ');
readln(array1[i]);
end;
begin
writeln('Массив, размером - ', n, ' элементов(а):');
for i := 1 to n do write(array1[i], ' ');
writeln;
end;
for i:=1 to n do
begin
k := 0;
for j:=1 to n do
if array1[i] = array1[j] then k := k + 1;
if k = 1 then result := result + array1[i];
end;
writeln('Сумма уникальных элементов массива = ', result);
<span>end.</span>
Внешние устройства:Клавиатура,мышь
При каждом полученном ответе интервал делится на 2 половины, в одной из которой искомое число. Таким образом максимальное число раз, которым мы можем разделить интервал от 1 до 8 = log2(8) = 3. Чтобы точно угадать число требуется еще 1 попытка.
Ответ: 4, log2(n) + 1 для общего случая