d111180
?>

Считая, что каждый символ кодируется одним байтом, оцените информационный объем следующего предложения: тяжело в ученье - легко в бою.

Информатика

Ответы

omraleva
Один символ-1 байт 23 символа-23 байта
machkura
30 Пробелы, точка и тире тоже учитываются
Belokonev286
Будем последовательно решать задачу для первых i символов кода, основываясь на ответах для i - 1 и i - 2. Заметим, что если i-й символ кода равен 0 или ответа для i - 1 не существует, то ответ для i получается добавлением одного символа к ответу для i - 2, если последние две цифры кода нельзя понять, как зашифрованную букву, или ответа для i - 2 не существует, то надо добавить символ к i - 1, а иначе сравнить длины ответов и добавить букву к тому, кто короче.

Код (python 3.5):
codes = "."
with open('input.txt', 'r') as f:
    encoded = list(map(int,list(f.read(
if len(encoded) == 1:
    print(codes[encoded[0]])
else:
    decoded = [codes[encoded[0]], ""]
    for i in range(1, len(encoded)):
        if (decoded[0] is None) or (encoded[i] == 0):
            decoded = [decoded[1] + codes[10*encoded[i-1] + encoded[i]], decoded[0]]
        elif (10*encoded[i-1] + encoded[i]>26) or (decoded[1] is None) or \
            (len(decoded[1]) >= len(decoded[0])):
            decoded = [decoded[0] + codes[encoded[i]], decoded[0]]
        else:
            decoded = [decoded[1] + codes[10*encoded[i-1] + encoded[i]], decoded[0]]
    with open('output.txt', 'w') as f:
        f.write(decoded[0])
lestnica
// PascalABC.NET 3.2, сборка 1383 от 09.02.2017
// Внимание! Если программа не работает, обновите версию!

1)

begin
  var b:=ArrRandom(ReadInteger('n='),-99,99); b.Println;
  var jn:=b.FindIndex(x->x<0); // индекс первого отрицательного
  var jm:=b.IndexMax; // индекс первого максимального
  Swap(b[jn],b[jm]); b.Println
end.

Пример
n= 15
33 60 -72 13 -15 -36 21 98 -21 -22 56 -20 0 -98 28
33 60 98 13 -15 -36 21 -72 -21 -22 56 -20 0 -98 28

2)

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  a:=a[:4]+Arr(8)+a[4:]; a.Println;
end.

Пример
n= 10
65 56 31 74 -4 -54 43 8 -58 -94
65 56 31 74 8 -4 -54 43 8 -58 -94

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Считая, что каждый символ кодируется одним байтом, оцените информационный объем следующего предложения: тяжело в ученье - легко в бою.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

damir
pashyanaram
mixtabak2
Станиславовна196
juliaipatova1739
postbox
bestxbox
lebedevevgen
andreanikin
ПаршинАндрей1928
yamal-toy
Рогова Ольга1156
snabomp
uuks2012
svetlana-sharapova-762621