У нас сказано, что можно использовать в алфавите цифры, десять знаков препинания и 16 букв алфавита(если сразу считать в 2 регистрах).
10 + 10 + 16 = 36
N = 36
i = 6
i = 5 мы взять не можем, потому что тогда мы не сможем закодировать все символы.
Не столь точно сказано в задаче, сколько должно быть знаков в пароле, сказано только то, что их должно быть не более 16, но тогда ведь мы можем и 1 взять, странно это, поэтому лучше взять пароль, имеющий 16 знаков.
16 * 5 = 80 бит = 10 байт - 1 пароль
704 * 10 = 7040 Байт на 704 пароля.
ответ: 7040 байт
Ну давайте для начала разберём строковый тип.
В паскале строковый тип обозначается "string".
Строка в компиляторе паскаля рассматривается как набор букв(массив)
Например слово "Привет".
Допустим переменной S присвоили значение "Привет", тогда
S[1] = П, S[2] = р, S[3] = и, s[4] = в, s[5] = e, s[6] = т.
Также строки можно соединять (конкатонировать)
Пример:
a := 'qq'
b := 'ww'
S:=a+b, S будет иметь значение 'qqww'
Также их можно сравнивать, при сравнении строк сравниваются их коды ASCII. Сначала сравниваются первые символы, а потом по порядку в поисках различия.
Теперь немного о символьном типе, с ним можно делать всё тоже, что и со строковым.
Символьный тип в паскале обозначается "char". пример описания:
var one,two,free : char;
Переменными этого типа данных могут быть как буквы, так и цифры или любые знаки.
Если обобщить, то когда Вам нужно закодировать 1 символ, то лучше выбирать тип "char", потому что памяти будет занимать меньше, а для больших строк с кучей символов брать "string".
var sump,sumn,i:integer;
a:array[1..3] of integer;
begin
for i:=1 to 3 do
begin
read(a[i]);
if a[i]>=0 then
sump:=sump+a[i]
else
sumn:=sumn+a[i];
end;
if sump>=sumn then
writeln(min(min(a[1],a[2]),min(a[2],a[3])))
else
writeln(max(max(a[1],a[2]),max(a[2],a[3])));
end.