2. На бесконечном поле две стены пересекаются под прямым углом. Длины стен
неизвестны. Робот находится в углу. Напишите для Робота алгоритм, закрашивающий
клетки, расположенные вдоль длиннейшей стены внутри.
Примечание: для сравнения значений можно использовать знаки =, >, <, >=, <=, <>
// 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.
3х25х65=4875
2. Определим объем сообщения в битах.
1125х8=9000
3. Определим количество битов, отводимых для одного символа
9000/4875=1.846
Следовательно, или в условии задачи содержится ошибка, или разные символы кодируются разным количеством битов (1 и 2). Но при кодировании разным количеством битов возникает вопрос о разделении битов на символы. Вопрос решается применением специального вида кодировок. В нашем случае могут быть использованы коды 0,10,11. Т.е. встречается 1, то будут использованы два бита, а если встретился 0 - то один бит. Алфавит в этом случае будет состоять из ТРЕХ символов (комбинация 00 не используется).
ответ: мощность алфавита три символа.