Мы знаем мощность алфавита (N) - 16 символов.
Нам необходимо узнать вес одного символа.
Формула нахождения мощности алфавита:
N = , где i - вес одного символа.
Подставим в формулу существующее значение:
16 =
Значит, i - 4 бита, ведь = 16.
Так, 1 символ текста кодируется 4 битами.
80 × 256 = 20480 - количество символов во всём тексте.
20480 символов = 20480 × 4 = 81920 бит
1 Килобайт = 1024 байт, а 1024 байт = 1024 × 8 = 8192 бит
81920 ÷ 8192 = 10 Килобайт
ответ: для сохранения данного текста потребуется 10 Килобайт памяти.
#include <iostream>
using namespace std;
int main()
{
string str;
cin >> str;
if (str.length()%2 == 1)
for (int i; i < str.length(); i++)
if (i < (float)str.length()/2) {cout << "(" << str[i];};
if (i > (float)str.length()/2) {cout << str[i] << ")";};
if ((float)i+0.5 == (float)str.length()/2) {cout << ")";};
}
else
if (i >= (float)str.length()/2) {cout << str[i] << ")";};
Мы знаем мощность алфавита (N) - 16 символов.
Нам необходимо узнать вес одного символа.
Формула нахождения мощности алфавита:
N =
, где i - вес одного символа.
Подставим в формулу существующее значение:
16 =![2^{i}](/tpl/images/4614/8569/dc08d.png)
Значит, i - 4 бита, ведь
= 16.
Так, 1 символ текста кодируется 4 битами.
80 × 256 = 20480 - количество символов во всём тексте.
20480 символов = 20480 × 4 = 81920 бит
1 Килобайт = 1024 байт, а 1024 байт = 1024 × 8 = 8192 бит
81920 ÷ 8192 = 10 Килобайт
ответ: для сохранения данного текста потребуется 10 Килобайт памяти.
#include <iostream>
using namespace std;
int main()
{
string str;
cin >> str;
if (str.length()%2 == 1)
{
for (int i; i < str.length(); i++)
{
if (i < (float)str.length()/2) {cout << "(" << str[i];};
if (i > (float)str.length()/2) {cout << str[i] << ")";};
if ((float)i+0.5 == (float)str.length()/2) {cout << ")";};
}
}
else
{
for (int i; i < str.length(); i++)
{
if (i < (float)str.length()/2) {cout << "(" << str[i];};
if (i >= (float)str.length()/2) {cout << str[i] << ")";};
}
}
}