А. В изображении 256 * 128 = 32768 пикселей. По формуле 2^i = N получаем, что при N = 2 (монохромный рисунок - всего 2 используемых цвета) число бит на 1 пиксель равно i = 1 бит. Тогда объём файла 1 бит * 32768 = 4096 байт = 4 Кб
б. 2^i = 16 -> i = 4 бита на символ. Это в 4 раза больше, чем в пункте а, поэтому ответ в 4 раза больше: 4 * 4 Кб = 16 Кб
в. Аналогично, 8 бит на символ - в 2 раза больше, чем в прошлый раз, и 2 * 16 Кб = 32 Кб
г. 24-разрядный рисунок - такой, в котором на кодировние цвета отводится 24 бита, это в 3 раза больше, чем в п. в; ответ 32 Кб * 3 = 96 Кб
Строка неизменяемый объект, ответ А).
1) 6 раз
2) 9 раз
3) 19 раз
P.S. могу ошибаться, возможно не так понял задачу.
<h3>PascalABC.NET 3.4.2, сборка 1863 от 10.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
function Conv(s: string): string;
begin
var d := s.ToCharArray;
var (i, found) := (d.High, False);
while i >= 1 do
if d[i] > d[i - 1] then
begin
found := True;
break
end
else i -= 1;
if found then
begin
s := s[:i];
var c := d[i - 1];
d := d[i - 1:];
d.Sort;
var j := d.IndexOf(c) + 1;
s += (d[j] + d?[:j] + d?[j + 1:]).JoinIntoString
end
else s := '-';
Result := s
end;
begin
var ms := Arr('1890', '83849', '126631', '146531', '32749972');
foreach var s in ms do
Conv(s).Println
end.
<h2>1908</h2><h2>83894</h2><h2>131266</h2><h2>151346</h2><h2>32772499</h2>