1) все идет по степеням двойки. Чтоб закодировать число 79, уже надо закодировать 128 чисел = 2^7 = 7 бит
2) 1.5 кб = 1.5*1024*8 бит = 12288 бит
12288 / 3072 = 4 бита на символ
значит мощность 2^4 = 16
3) 8*8=64 возможных варианта или мощность алфавита.
64 = 2^6 -> 6 бит на один ход
<em>// PascalABC.NET 3.3, сборка 1583 от 25.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=SeqRandom(ReadInteger('n='),-99,99).Select(t->t/10).ToArray;
a.Println;
var (imax,imin):=(a.IndexMax,a.LastIndexMin);
Swap(a[imin],a[imax]); a.Println
end.
<u>Пример</u>
n= 15
-4.3 -5.6 7.2 -5.3 -7.7 9.3 1.4 0.3 -4.7 6.3 5.7 7.5 -8.6 6.9 -2.5
-4.3 -5.6 7.2 -5.3 -7.7 -8.6 1.4 0.3 -4.7 6.3 5.7 7.5 9.3 6.9 -2.5
//PascalABC.NET 3.1 сборка 1239
uses GraphABC;
const
n = 4;
begin
Window.CenterOnScreen;
var h := 100;
Window.SetSize(h * n, h * n);
Pen.Width := 3;
for var i := 1 to n - 1 do
begin
Pen.Color := clRandom;
Polyline((h * i, h * 0), (h * n, h * (n - i)), (h * (n - i), h * n), (h * 0, h * i), (h * i, h * 0));
end;
end.