int comb(vector sort)
{
int n = 0; // количество перестановок
double fakt = 1.2473309; // фактор уменьшения
int step = sort.size() - 1;
while (step >= 1)
{
for (int i = 0; i + step < sort.size(); ++i)
{
if (sort[i] > sort[i + step])
{
swap(sort[i], sort[i + step]);
n++;
}
}
step /= fakt;
}
// сортировка пузырьком
for (int i = 0; i < sort.size() - 1; i++)
{
bool swapped = false;
for (int j = 0; j < sort.size() - i - 1; j++)
{
if (sort[j] > sort[j + 1]) {
swap(sort[j], sort[j + 1]);
swapped = true;
++n;
}
}
if (!swapped)
break;
}
return n;
}
Задание 1
ответ 2) 01 10 01 000 11 001
N O N A M E
задание 2
ответ 3) 100 011 01 10 110
С A E B D
задание 3
ответ 3) озон
----------------------------------
В Б В А Г
10 01 10 00 11
ответ : 3 подряд идущих нуля
----------------------------------------------
ответ 3) АИНГЧАН
задание 4
ответ: ПРТИПЙ (6 букв)
задание 5
Г А В А Б
11 0 10 0 1 нет однозначного декодирования, можно ещё тремя способами.
Г А БА А Б
ББ А В А Б
ББ А БА А Б
всего можно декодировать 4 способами.
Вес символа в данном алфавите 8бит=1байт, тогда сообщение 34*1=34байта
Ответ: 16.
1. 8+3=11
15-11=4
2. 6+2=8
12-8=4
3. 9+3=12
12+4=16