<u>PascalABC.NET 3.4.0, сборка 1675 от 12.06.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
ReadlnString.Select(c->integer(Ord(c))).Sum.Println
end.
Function ToBinaryString(x: integer): string;
var r, s: string;
begin
if x < 0 then begin
s := '-';
x := -x;
end;
while x <> 0 do begin
r := Chr((x and 1) or 48) + r;
x := x shr 1;
end;
ToBinaryString := s + r;
end;
var x: integer;
begin
readln(x);
writeln(ToBinaryString(x));
<span>end.</span>
Var ar:array[1..10] of integer;
i,k1,k2,k3:integer;
begin;
randomize;
k2:=1;
writeln('Array:');
for i:=1 to 10 do
begin;
ar[i]:=random(10);
write(ar[i]:4);
if odd(i) then k2:=k2*ar[i] else k1:=k1+ar[i];
if ar[i]>3 then inc(k3);
end;
writeln;
writeln('1:',k1);
writeln('2:',k2);
writeln('3:',k3);
end.
Для решения данной задачи необходимо построить дерево и посчитать, сколько отрезков приходится для каждой буквы.
Например, исходя из рисунка, для буквы "О" есть 1 отрезок - это 0 (итого 1), а для буквы "Е" 2 отрезка - это 1 и 0 (итого 2), для буквы "П" - это 1, 1, 0 (итого 3). Затем необходимо сложить все отрезки и посчитать <span>минимальную общую длину кодовых слов для всех семи букв.</span>
Площадь разделить на длинну