1) 23+16=39 символов было в сообщении первоначально
2) 23 × 1 байт = 23 байт общий объем первого сообщения без русского алфавита
3) 16 × 2 байта = 32 байт информационный объем сообщения русского алфавита до перекодировки
4) 23+32=55 байт - информационный объем сообщения до перекодировки
5) 39 × 2 байт = 78 байт информационный обем сообщения после перекодировки ( в Unicode 1 символ - 2 байта)
6) 4 Кбит ×1024/8 = 512 байт объем добавленного сообщения
7) 78+512 = 590 байт стал информационный объем сообщения после добавления еще одного сообщения
8) 590 - 55 = 535 байт увеличился итоговый информационный объем
ответ: 535 байт
20 МБайт = 20 * 1024 байт = 20 * 1024 * 8 бит = 163840 бит
Сначала рассмотрим первый случай, с применением архиватора:
Сначала инициатор отправки сжимает файл и затрачивает 14 секунд. Теперь файл весит 80% от 163840 бит = 131072 бит.
Затем инициатор отправки отправляет файл размером 131072 бит. На это затрачивается (131072 бит / 223 бит = 587.766816143) секунд.
Затем человек по ту сторону кабеля получает и распаковывает файл, на это он тратит 2 секунды. Суммарно затраченное время = 14 + 587.766816143 + 2 секунд = 603.766816143 секунд.
Рассмотрим второй случай, без применения архиватора:
Инициатор отправки отправляет файл размером 163840 бит. На это затрачивается (163840 бит / 223 бит = 734.708520179) секунд. Суммарно затраченное время = 734.708520179 секунд.
ответ: А 130.941704036
В квадратиках, где символы не открываются вставлял строгие выражения.
#define _USE_MATH_DEFINES
#include <iostream>
#include<cmath>
signed main() {
double x, z;
std::cout << "x=";
std::cin >> x;
if (x < -M_PI)
z = log(abs(x));
else if (-M_PI < x < M_PI)
z = sin(x) + cos(2 * x);
else if (M_PI < x < 10)
z = pow(x, 3) + 1;
else if (10 < x < 100)
z = (x + 1) / (x * x + 8);
else
z = log(x);
std::cout << z << std::endl;
return 0;
}