Автомобильный номер длиной 7 символов составляется из заглавных букв (всего используется 14 букв) и десятичных цифр в любом порядке. Каждый символ кодируется одинаковым и минимально возможным количеством битов, а каждый номер — одинаковым и минимально возможным количеством байтов. Определите объём памяти, необходимый для хранения 32 автомобильных номеров.
{ Перевод натурального десятичного n в восьмеричную систему счисления
и вывод результата }
const
alpha = '01234567';
var
s: string;
i:integer;
begin
s := '';
while n > 0 do begin
s := alpha[(n mod 8) + 1] + s;
n := n div 8
end;
for i:=Length(s) to 9 do s:='0'+s;
Write(s)
end;
{ Использование }
var
x:longint;
begin
Write('Введите десятичное число: '); Read(x);
Write('В восьмеричной системе счисления: ');
Dec2Oct(x);
Writeln
end.
Тестовое решение:
Введите десятичное число: 1234567
В восьмеричной системе счисления: 0004553207
n = 10;
var
a : array [1..n] of integer;
r : boolean;
i,j : integer;
begin
//Формирование массива пропущено
r := true;
While r do
begin
if a[i] mod 2 =0 then
begin
for j := n-1 downto i + 2 do
a[j] := a[j-1];
a[i+1] := 0;
r := false;
end;
i := i +1;
end;
for i := 1 to n do
writeln (a[i]);
end.
Во избежании ошибок стоит учесть наличие такового элемента в массиве и размерность массива (чтобы его можно было корректно расширить на один элемент)