Начинаем раскодировать с начала.
Первая цифра в шифровке 5 – это начало только кода 5 (Д).
Вторая цифра 1 – это могло бы быть просто 1 (А), но тогда следующий код начинался бы с нуля, что невозможно. Значит, дальше идет 10 (И).
Остаётся 1912. Так как 9 не стоит в начале ни одного кода, 9 – окончание кода какой-то буквы, буду промежутки между буквами показывать черточкой: 19-12. 19 и 12 можно разбивать или не разбивать на коды, это даёт 4 варианта:
– 19-12 (СК)
– 1-9-12 (АЗК)
– 19-1-2 (САБ)
– 1-9-1-2 (АЗАБ)
Итого, имеем 4 варианта дешифровки:
5-10-19-12 (ДИСК)
5-10-1-9-12 (ДИАЗК)
5-10-19-1-2 (ДИСАБ)
5-10-1-9-1-2 (ДИАЗАБ)
Оно на всех неправильное ось симетрии должа делить предмет ровно на пополам
Добрый вечер. У вас не казан язык реализации, данный код на С++.
#include <iostream>
int main() {
int arr[5];
for (int i = 0; i < 5; i++) {
std::cin >> arr[i];
std::cout << arr[i] + 1 << " ";
}
return 0;
}
задание очень простое. Это самая простая реализация. Если нужны объяснения или более сложная реализация пишите. Удачи.
информационные: физическая карта, схема метро
физические: глобус, манекен, муляж яблока
Определяем мощность (количество символов) использующегося алфавита. 12 букв и 10 цифр составляют 22 символа. В 1 байте допустимо запоминать 256 комбинаций, поэтому "минимальное количество байтов" для кодирования символа равно 1. Номер из 6 символов займет 6 байт.
А для 32 номеров потребуется 32×6 = <em>192 байта.</em>
Я встречал эту задачу в несколько ином виде: Каждый символ кодируется одинаковым и минимально возможным количеством не байтов, а бит. А номер кодируется минимально возможным количеством байт. Тогда получается 5 бит на символ (2⁴ < 22 < 2⁵), 6 символов требуют 5×6 = 30 бит = 30/8 ≈ 4 байта. А 32 номера занимают 32×4 = 128 байт.