В одной из кодировок Unicode каждый символ кодируется 16 битами. Вова написал текст (в нём нет лишних пробелов):
«Ёж, лев, слон, олень, тюлень, носорог, крокодил, аллигатор — дикие животные».
Ученик вычеркнул из списка название одного из животных. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 16 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название животного.
27=16+8+2+1=2^4+2^3+2^1+2^0=1 1011 (2cc)
0,|27 * 2
0|54 *2
1|08 *2
0|16 *2
0|32 *2
0|64 *2
1|28 *2
0|56 *2
1|12 *2
0|24 *2
0|48 *2
0|96 *2
1|92 *2
1|84 *2
1|68 *2
1|36 *2
0|72 *2
1 |44 *2
0|88 *2
1|76 *2
1|52
+1
1|04 (последний байт при приближении =1100)
27, 27 = 1 1011, 0100 0101 0001 1110 1100 (в2сс) ≈11011,01001
27,27 = 1 B , 4 5 1 E B = 1B,451EC (в 16сс)
27, 27 = 11 011, 010 001 010 111 (в 2сс) =33,21217 ( в 8сс)
3 3, 2 1 2 7
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
var a:=ArrRandom(20,-99,99); a.Println;
a.Where(x->x<0).Concat(a.Where(x->x>=0)).Println
end.
Тестовое решение
88 94 55 -38 43 -72 3 -26 -1 -23 84 93 40 -8 -25 77 4 39 -50 3
-38 -72 -26 -1 -23 -8 -25 -50 88 94 55 43 3 84 93 40 77 4 39 3
Замечание:
Если стоит задача получить именно массив, а потом его вывести, можно написать так:
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
var a:=ArrRandom(20,-99,99); a.Println;
a:=a.Where(x->x<0).Concat(a.Where(x->x>=0)).ToArray;
a.Println
end.