Определить объём памяти, необходимой для хранения паролей и сведений пользователей - C#

Узнай цену своей работы

Формулировка задачи:

Есть задача: "При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из a символов и содержащий только символы из b-символьного набора: [символы алфавита]. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено c байт на одного пользователя. Определите объём памяти (в байтах), необходимый для хранения сведений о d пользователях. В ответе нужно вывести только целое число – количество байт." Помогите, пожалуйста, её оформить
Решается она так: b символов нужно сравнить с ближайшей степенью числа 2 и найти её, т.е, если b≤2^n, то нужно найти n. Далее найти объём памяти для всех символов: n*a. Так как для записи используются байты, то нужно найти такое число m≥(n*a), остаток от которого при делении на 8 равен нулю. Потом (m+c) * d = f. Вывести f. помогите, пожалуйста

Решение задачи: «Определить объём памяти, необходимой для хранения паролей и сведений пользователей»

textual
Листинг программы
  1. class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             int alphabet;
  6.             int pass;
  7.             int count;
  8.             int adddata;
  9.             Console.WriteLine("Введите количество символов:");
  10.             alphabet = int.Parse(Console.ReadLine());
  11.             Console.WriteLine("Введите количество паролей:");
  12.             pass = int.Parse(Console.ReadLine());
  13.             Console.WriteLine("Введите количество пользователей:");
  14.             count = int.Parse(Console.ReadLine());
  15.             Console.WriteLine("Введите количество памяти для дополнительных данных:");
  16.             adddata = int.Parse(Console.ReadLine());
  17.             int volume = Passwords(alphabet, pass, count, adddata);
  18.             Console.WriteLine("Объем памяти = " + volume);  
  19.         }
  20.         static int Passwords(int n_alphabet, int length_Password, int count_Password, int add_data)
  21.         {
  22.             int result = 0;
  23.             int length_code, cod;
  24.             length_code = 1;
  25.             cod = 2;
  26.             while ( cod < n_alphabet)
  27.             {
  28.                 cod *= 2;
  29.                 length_code++;
  30.             }
  31.             cod = length_code * length_Password;    //длина пароля в битах
  32.             int lenPassword = cod / 8;
  33.             if (cod % 8 != 0) lenPassword++;        //длина пароля в байтах
  34.             int All_length = (lenPassword + add_data)* count_Password; //память общая
  35.             result = All_length;  
  36.             return result;
  37.         }
  38.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.467 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы