чисел всего 31 (28 или 29 в феврале, 30 или 31 в другие месяцы)
чтобы закодировать 31 вероятность - нужно 5 бит
потому как 2 в степени 5 = 32 - т.е. хватит с запасом.
ну или по формуле хартли:
i = log(2) 32 = 5
ответ: 5 бит
sancity997124
02.04.2022
#include < iostream> #include < string> using namespace std; int main() { string s; cin > > s; int mass[52]; for (int i = 0; i < 52; i++) { mass[i] = 0; } for (int i = 0; i < s.length(); i++) { char c = s[i]; if (c > = 'a'& & c < = 'z') { mass[(int)(c-'a')*2]++; } else if (c > = 'a'& & c < = 'z'){ mass[(int)(c-'a')*2+1]++; } } for (int i = 0; i < 52; i++) { for (int j = 0; j < mass[i]; j++) { cout < < (i % 2 == 0? (char)(i/2+'a'): (char)(i/2+'a')); } } return 0; } пример работы программы: lkdkjgkjsdlfvkhnolhdskljnfljghljnksgbakjbjkhvljhfvkjhvkjayfjhlihaliuygflakjbhdilaugxikjasilfyhgklajfbhligflkjblkjbdfigiksjbnfowshkljh aaaaaaabbbbbbbdddddffffffffffgggggggghhhhhhhhhhhhhiiiiiiiijjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkklllllllllllllllllnnnnoossssssuuvvvvwxyyy
ohussyev
02.04.2022
// pascalabc.net 3.3.5, сборка 1636 от 10.03.2018 // внимание! если программа не работает, обновите версию! begin var (m,n): =readinteger2('количество строк и столбцов в массиве: '); writeln('*** исходный массив ***'); var a: =matrrandom(m,n,-99,99); a.println(4); writeln(4*a.colcount*'-'); a.rows.foreach(r-> begin r.orderby(t-> t).select(t-> format('{0,4}',('').println end) end.
чисел всего 31 (28 или 29 в феврале, 30 или 31 в другие месяцы)
чтобы закодировать 31 вероятность - нужно 5 бит
потому как 2 в степени 5 = 32 - т.е. хватит с запасом.
ну или по формуле хартли:
i = log(2) 32 = 5
ответ: 5 бит