/*В комментария вы сказали, что нужно считать не все символы строки (не считать пробел), что я и отразил в коде. Если понадобится считать все символы строки, то можно обойтись без цикла, а сделать так: cout << "Symbols: " << fio.length();).*/
#include <iostream>
using namespace std;
int main()
{
string fio;
int counter = 0;
cout << "Enter FIO: ";
getline(cin, fio);
for (int i = 0; i < fio.length(); i++)
{
if (fio[i] != ' ')
counter++;
}
cout << "Symbols: " << counter;
return 0;
}
I=7.5 кбайт
К=7680
N-?
___________
N=2i
I=K*i
i=I\K
i=61440\7680=8
Ответ : всего три брата в семье.
1.
1.2,5 Мбайт = 2,5*1024 Кбайт = 2560 Кбайт
Кол-во документов, которые сможет записать Никита:
2560/197 = 12 (останется 196 Кбайт)
При сжатии в 8 раз объем документа будет:
197/8 = 24,625 Кбайт = 25 Кбайт (для хранения файла используется целое число Кбайт)
Кол-во документов, которые сможет записать Юра:
2560/25 = 102 (останется 10 Кбайт)
Ответ: Никита сможет записать на носитель 12 документов, а Юра 102 документа.
2.
При использовании 64-символьного алфавита для хранения 1 символа требуется log(2)64 = 6 бит.
Для 1 страницы:
128*32*6 бит = 2^7*2^5*2*3/8 байт = 2^10*3 байт = 3 Кбайта
Количество страниц: 240/3=80
Время распечатки = 80/10=8 мин
При использовании алфавита с 64/4=16 символами на 1 символ требуется log(2)16=4 бит
Для 1 страницы:
128*32*4 бит = 2^7*2^5*2^2/8 байт = 2^11 байт = 2 Кбайта
Количество страниц: 240/2=120
Время распечатки = 120/(10*2)=6 мин
Ответ: 8 мин, 6 мин.