Какое минимальное количество бит потребуется для хранения трехсимвольного кодового слова «буквацифрацифра», использующего 33 буквы и 10 цифр в произвольных сочетаниях?
В кодовом слове всегда на первом месте стоит - буква, за ней идут две цифры. Отдельно кодируем буквы и цифры: 33 = 2^N ---> N=6 бит для кодировки одной буквы 10=2^n > n=4 бит для кодировки одной цифры Длина закодированного слова= N+n+n=14 бит
кодируем все предложенные символы: 33+10 =43 43=2^M > M=6 бит для одного символа Длина закодированного слова = 3*М =18 бит Вывод эконоинее второго. ответ: 14 бит.
Const N = 13; Var A:array[1..N] of integer; i,Min:integer; Begin Randomize; Write('Исходый массив:'); For i:= 1 to N do Begin A[i]:=random(10000)-5000; Write(' ',A[i]) End; WriteLn; Min:=1000; For i:= 1 to N do if (99<Abs(A[i]))and(Abs(A[i])<1000)and(A[i] mod 7 = 0)and(A[i]<Min) then Min:=A[i]; if Min = 1000 then WriteLn('В массиве нет трёхзначных элементов, кратных семи') else WriteLn('Min = ',Min); End.
Точно должно работать для PascalABC.Net (версия 3.2, сборка 1341). program Task; var N,i,kol,sum:integer; //По-хорошему, не integer. Потому что мы работаем с натуральными числами, а не отрицательными begin read(N); for i:=1 to N do begin if (i mod 15)=0 then kol:=kol+1; //15 - это НОК(3,5) end; while (N<>0) do begin sum:=sum+N mod 10; N:=N div 10; end; writeln('Количество чисел, делящихся и на 3, и на 5, равно ',kol); writeln('Сумма цифр числа N равна', sum); end.
Отдельно кодируем буквы и цифры:
33 = 2^N ---> N=6 бит для кодировки одной буквы
10=2^n > n=4 бит для кодировки одной цифры
Длина закодированного слова= N+n+n=14 бит
кодируем все предложенные символы:
33+10 =43
43=2^M > M=6 бит для одного символа
Длина закодированного слова = 3*М =18 бит
Вывод эконоинее второго.
ответ: 14 бит.