С++14
Код:
#include <iostream>#include <iomanip>#include <string>#include <algorithm> size_t count_char(const std::string& number, char c) { return std::count(number.begin(), number.end(), c);} bool is_it_more_than(const std::string& number, char a, char b) { return count_char(number, a) > count_char(number, b);}int main() { long long k = 4353621ll; char a = '3'; char b = '4'; std::string number = std::to_string(k); std::cout << "Number is " << number << std::endl; std::cout << "a = " << a << std::endl; std::cout << "b = " << b << std::endl; std::cout << "Does a appear in Number more often than b: " << std::boolalpha << is_it_more_than(number, a, b) << std::endl; return 0;}
ответ: 10. Сообщение, записанное буквами из 64-х символьного алфавита, содержит 20 символов.
Какой объём оно несёт?
Дано:
N = 64 символа
K = 20 символов
lc =?
Найти:
Какой объём оно несёт?
Из формулы N = 2i определим вес 1 символа алфавита: 64 = 2^i → 64 = 2^6 → i^6. Из формулы lc = Kxi определим количество информации в сообщении lc = 20x6 = 120 бит
ответ: Сообщение несёт 120 бит информации.
9. Сообщение занимает 3 страницы по 25 строк. В каждой строке по 60 символов. Сколько символов в использованном алфавите, если всё сообщение содержит 1125 байтов?
Дано:
Iт = 1125 байтов
x = 25 – количество строк
y = 60 – количество символов в строке
M = 3 – количество страниц
Найти:
N = ?
1) N = 2i, неизвестно I; 2) Iт = K*I, I = Iт/K; 3) K = x * y * M = 25 * 60 * 3 = 4 500 символов – в тексте; 4) I = Iт/K = 1 125 * 8/ 4500 = 2 бита – объём одного символа; 5) N = 22 = 4 символа – в алфавите.
ответ: в алфавите 4 символа.