Пусть мощность алфавита равна N. По определению, N = 2^i, где i - вес одного символа в битах. Тогда на один пароль потребуется 80 * i бит, что в переводе на байты равно 10i. Для 1200 пользователей, соответственно, потребуется 10i* 1200 = 12000i байт. Также известно, что для 1200 челиков потребовалось 150кБайт. Отсюда составим и решим уравнение:
12000i = 150 * 1024
12000i = 153600
i = 153600/12000 = 1536/1200 = 1.28 бит. Выбирая наибольшее целое, не превышающее получившиеся, останавливаемся на 1
Возвращаясь к формуле мощности алфавита, она равна 2^1 = 2 символа
Вариант 1:
using namespace std;
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <iomanip>
#include <string>
int main() {
setlocale(LC_ALL, "rus");
system("chcp 1251");
srand(time(0));
double x;
cout << "Введите значение x" << endl;
cin >> x;
if (x <= 0)
cout << pow(x, 4) << endl;
if (x > 0)
cout << log10(x) << endl;
system("pause");
return 0;
}
Вариант 2:
using namespace std;
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <iomanip>
#include <string>
int main() {
setlocale(LC_ALL, "rus");
system("chcp 1251");
srand(time(0));
double x;
cout << "Введите значение x" << endl;
cin >> x;
if (x >= 2)
cout << sqrt(x) << endl;
if (x < 2)
cout << log(3 - x) << endl;
system("pause");
return 0;
}
Пусть мощность алфавита равна N. По определению, N = 2^i, где i - вес одного символа в битах. Тогда на один пароль потребуется 80 * i бит, что в переводе на байты равно 10i. Для 1200 пользователей, соответственно, потребуется 10i* 1200 = 12000i байт. Также известно, что для 1200 челиков потребовалось 150кБайт. Отсюда составим и решим уравнение:
12000i = 150 * 1024
12000i = 153600
i = 153600/12000 = 1536/1200 = 1.28 бит. Выбирая наибольшее целое, не превышающее получившиеся, останавливаемся на 1
Возвращаясь к формуле мощности алфавита, она равна 2^1 = 2 символа
ответ: 2