Каждая буква в алфавите кодируется определенным количеством бит, чем больше букв, тем больше бит требуется для кодирования. Нам дано, что каждое слово состоит из 5 букв и при этом 1024мя словами исчерпывается словарный запас. Значит если в алфавите Х букв, то на первом месте слове может быть Х вариантов, на втором столько же и так далее. Итого комбинаций Х в степени 5. Значит Х в степени 5 = 1024. Отсюда Х=4. 4 буквы в алфавите. Закодировать 4 буквы - 4 варианта можно 2мя битами. 2 в степени 2 =4. Значит одна буква несет 2 бита информации.
begin var s:=' - 32 / - 21 '; s:=RegEx.Replace(s,'\s',''); var a:=RegEx.Matches(s,'(-{0,1}\d+)|[\+\-\*/]'); var n:=a.Count; var x,y:integer; var c:char; case n of 3:begin x:=StrToInt(a[0].ToString); y:=StrToInt(a[2].ToString); c:=a[1].ToString[1] end; 2:begin x:=StrToInt(a[0].ToString); var s1:=a[1].ToString; c:=s1[1]; s1[1]:='0'; y:=StrToInt(s1) end; else begin Writeln('Недопустимое выражение'); exit end end; WriteFormat('{0} {1} {2} = ',x,c,y); case c of '+':Writeln(x+y); '-':Writeln(x-y); '*':Writeln(x*y); '/':Writeln(x/y) end end.
Тестовое решение: -32 / -21 = 1.52380952380952
// PascalABC.NET 3.0, сборка 1128 begin var s:='4km-549_ffb)5)6'; var t:=s.Where(x->x in ['0'..'9']).JoinIntoString(''); var n:int64; if TryStrToInt64(t,n) then Writeln(2*n) else Writeln('Не удалось выделить число') end.
Тестовое решение: 909912
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Вячейке d5 электронной таблицы записана формула =$а8*е24-f$4. какие формулы будут получены при ее копировании в ячейки в f12, с12, c6?
Значит Х в степени 5 = 1024.
Отсюда Х=4.
4 буквы в алфавите.
Закодировать 4 буквы - 4 варианта можно 2мя битами. 2 в степени 2 =4.
Значит одна буква несет 2 бита информации.