Что вы можете сказать о массиве, сформированном следующим образом? for i:=1 to 20 do a[i]:=2*i-1; массив содержит элементы с нечетными значениями
элементы массива сформированы случайным образом на интервале от -50 до 50
элементы массива сформированы случайным образом на интервале от 1 до 10
номер элемента массива совпадает с его значением
в массиве 101 элемент
35*40 = 1400
То есть нужно определить количество бит, которое требуется для кодирования 1400 номеров.
Для кодирования 1400 номеров требуется как минимум 11 бит. Разберемся, почему так:
С десяти бит мы можем закодировать максимум 1024 номера, т.к. 2^10 = 1024 (степень двойки - это количество бит). То есть десяти бит явно не достаточно для кодирования 1400 номеров.
Зато с одиннадцати бит мы можем закодировать 2^11=2048 номеров, и этого достаточно для кодирования 1400 номеров.
Один номер занимает 11 бит, объем 216 номеров равен:
216*11 = 2376 бит
ответ: 2376 бит.
А вот язык Алгол, на базе которого Н.Вирт сконструировал свой Паскаль, мог в заголовке цикла содержать очень много всего и, в том числе, смесь while с for:
for x:=p0 step h1 until q-1, q+1 step h2 until t, t+0.17 step h3 while cos(x/2)<0.85 do ...
Но Н.Вирт решил, что такой цикл неэффективен и... оставил от него жалкие ошметки. Возможно, компилятору "стало проще жить", но зато программисты в Паскале лишились возможности не только писать в цикле вещественные значения, но и вынуждены менять целочисленные только на 1 или -1.