МНЕ СЕГОДНЯ НУЖНО СДАТЬ
ВО ЖИЗНИ И СМЕРТИ
1. В одной из кодировок Unicode каждый символ кодируется 2 байтами. Вася написал
текст (в нем нет лишних пробелов):
Геометрия, физика, информатика, химия, биология, история, МХК - школьные
предметы
Ученик вычеркнул из списка название одного предмета. Заодно он вычеркнул ставшие лишними запятые и пробелы - два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 128 бит меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название школьного предмета.
ответ:
От разведчика было получено сообщение:
1011001100100110111
В этом сообщении зашифрован пароль - последовательность русских букв. В пароле
использовались только буквы Т. О, Н, Л. К, Б; буква кодировалась двоичным словом
по такой таблице:
O
111 110
00
100
K 01 101
Расшифруйте сообщение. Запишите в ответе пароль. ответ:
3. Напишите наибольшее число х для которого ложно высказывание: (x > 82) ИЛИ НЕ (х чётное). ответ:
4. Между населёнными пунктами А, В, С, D, E, F построены дороги, протяжённость
которых (в километрах) приведена в таблице.
A
D
E
F
10
B
10
10
D E
10
Определите длину кратчайшего пути между пунктами А и F, проходящего через пункт В. Передвигаться можно только по дорогам, протяженность которых указана в
таблице.
ответ:
var s:string; mas:array ['a'..'z'] of longint;{индексы элементов соответствуют латинице} c:char; i:longint; begin read(s); for c:='a' to 'z' do{заполнение нулями элементов массива, для запоминания количества элементов в латинице} mas[c]:=0; for i:=1 to ord(s[0]) do{пробегаем по всей строке ord(s[0]) это количесвто элементов в строке (только паскаль)} mas[s[i]]:=mas[s[i]]+1; for c:='a' to 'z' do{пробегаем по массиву значений и выводим только неповторяющиеся} if(mas[c]=1) then writeln(c); end.