Сначала найдем объем одного пароля. Для этого надо определить объем одного символа. Мощность алфавита равна 7-ми, то есть каждый символ в пароле принимает одно из семи значений, значит объем одного символа равен 3 битам, т.к. 2^3=8, а двумя битами (2^2=4) семь символов закодировать нельзя.
Длина пароля - 6, объем пароля равен 6*3 = 18 бит
Каждый пароль кодируется одинаковым и минимально возможно целым количеством байт, разделим 18 на 8 18:8 = 3 (нужно именно целое число, два байта - это 2*8=16 бит, у нас 18 бит, значит требуется 3 байта).
Кроме пароля на каждого пользователя выделяется 10 байт. То есть общий объем сведений на одного пользователя равен 10+3 = 13 байт.
Объем данных о 100 пользователей равен 13*100 = 1300 байт.
пакет ru.ткаченко.дмитрий.geekbrains.java1.dz1;
/**
* Создано Дмитрием Ткаченко 23.11.17.
*/
публичный класс Dz1 {
общедоступная статическая пустота main(строка[] args) {
}
/**
* шаг 2
* Создать переменные всех пройденных типов данных, и инициализировать их значения;
*/
статическая пустая задача2() {
байт b = 127;
короткий st = 12419;
символ ch = 'A';
целое число int = 24;
длинный lg = 124124L;
поплавок fl = 12,345949 f;
двойной dl = 4323,45345;
логическое значение bool = true;
}
/**
* шаг 3
* Написать метод вычисляющий выражение a * (b + (c / d)) и возвращающий результат,
* где a, b, c, d – входные параметры этого метода;
*/
статический двойной расчет(двойной a, двойной b, двойной c, двойной d) {
возврат a * (b + (c / d));
}
/**
* шаг 4
* Написать метод, принимающий на вход два числа, и проверяющий что их сумма лежит в
* пределах от 10 до 20(включительно), если да – вернуть true, в противном случае – false;
*/
статический логический диапазон(int один, int два) {
int сумма = один + два;
сумма возврата >> 9 && сумма < 21;
}
/**
* шаг 5
* Написать метод, которому в качестве параметра передается целое число, метод должен
* напечатать в консоль положительное ли число передали, или отрицательное;
* Замечание: ноль считаем положительным числом
*/
статическая пустота (int num) {
String word = "Положительное";
if (num < 0) word = "Отрицательное";
System.out.println(word);
}
/**
* шаг 6
* Написать метод, которому в качестве параметра передается целое число, метод должен
* вернуть true, если число отрицательное;
*/
статическое логическое значениеотрицательно(int num) {
возвращаемое число < 0;
}
/**
* шаг 7
* Написать метод, которому в качестве параметра передается строка, обозначающая имя,
* метод должен вывести в консоль сообщение «Привет, указанное_имя!»;
*/
статическая пустота sayHello( имя строки) {
System.out.printf("Привет, %s!\n", имя);
}
/**
* шаг 8 *
* Написать метод, который определяет является ли год високосным, и выводит сообщение в
* консоль. Каждый 4-й год является високосным, кроме каждого 100-го, при этом каждый 400-й –
* високосный.
*/
статический пустой годпечати(int год) {
если (истекший год(год)) {
System.out.println("Високосный");
} еще {
System.out.println("Не високосный");
}
}
частное статическое логическое значение isLeapYear(int год) {
если (((год % 4) == 0) && !((год % 100) == 0)) {
верните значение true;
} иначе , если ((год % 400) == 0) {
верните значение true;
}
вернуть false;
}
}
Мощность алфавита равна 7-ми, то есть каждый символ в пароле принимает одно из семи значений, значит объем одного символа равен 3 битам, т.к. 2^3=8, а двумя битами (2^2=4) семь символов закодировать нельзя.
Длина пароля - 6, объем пароля равен
6*3 = 18 бит
Каждый пароль кодируется одинаковым и минимально возможно целым количеством байт, разделим 18 на 8
18:8 = 3 (нужно именно целое число, два байта - это 2*8=16 бит, у нас 18 бит, значит требуется 3 байта).
Кроме пароля на каждого пользователя выделяется 10 байт. То есть общий объем сведений на одного пользователя равен 10+3 = 13 байт.
Объем данных о 100 пользователей равен 13*100 = 1300 байт.