pifpaf85
?>

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 10 символов и содержащий только символы из 26-символьного латинского алфавита. в базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. при этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 6 байт на одного пользователя. определите объём памяти (в байтах), необходимый для хранения сведений о 30 пользователях.

Информатика

Ответы

bg1967bg
Для кодирования одного из 26 символов требуется log(2)26 ≈ 5 бит.
10 символов требуют 10*5 = 50 бит = 50/8 байт ≈ 7 байт.
На 1 пользователя (с учетом дополнительных сведений): 7+6 = 13 байт.
Для 30 пользователей необходимо 30*13 = 390 байт
predatorfishing608

===== PascalABC.NET =====

begin

 var СписокСлов := ReadlnString('Список слов через пробел:').ToWords;

 var ИсходныйСловарь := new Dictionary<char, integer>;

 var РабочийСловарь := new Dictionary<char, integer>;

 foreach var Символ in ReadlnString('Слово:') do

   ИсходныйСловарь[Символ] := ИсходныйСловарь.Get(Символ) + 1;

 var СтрокаВывода: string;

 foreach var Слово in СписокСлов do

 begin  

   foreach var Символ in Слово do

     РабочийСловарь[Символ] := РабочийСловарь.Get(Символ) + 1;

   var МожноПостроитьСлово := True;

   foreach var ЭлементРабочегоСловаря in РабочийСловарь do

   begin

     var Ключ := ЭлементРабочегоСловаря.Key;

     var ПределПовторовБуквы: integer;

     if ИсходныйСловарь.TryGetValue(Ключ, ПределПовторовБуквы) then

     begin  

       if ЭлементРабочегоСловаря.Value > ПределПовторовБуквы then

       begin

         МожноПостроитьСлово := False;

         break

       end

     end

     else

     begin

       МожноПостроитьСлово := False;

       break

     end  

   end;  

   if МожноПостроитьСлово then

   begin

     if СтрокаВывода <> '' then

       СтрокаВывода += ', ';

     СтрокаВывода += Слово

   end;  

   РабочийСловарь.Clear;

 end;

 Println(СтрокаВывода)

end.


Реализовать любом языке из списка: си/c++/c#/pascal/basic/javascript/fasm. задано для развлечения =)
алексей-Ветошкин

Пояснение:

Если ввод осуществляется через файл, то он должен называть "Слова.txt" и находиться в одной директории с исполняемым файлом. Выбрать нужный вариант ввода можно просто введя цифру в перовом input.

Код:

# -*- coding: utf-8 -*-

format = int(input("Считать слова из файла (введите 1)\nВводить слова в консоль (введите 2)\nВвести слова в одну строку(введите 3)\nВыбор: "))

words = []

answer = []

if format == 1:

  f = open('Слова.txt', "r", encoding='utf-8')

  line = f.readline()

  while line:

      for i in line.split(", "):

          words.append(i)

      line = f.readline()

  f.close()

elif format == 2:

  n = int(input("Введите кол-во слов - "))

  for i in range(n):

      words.append(input("Вв. слол - "))

elif format == 3:

  n = input("Введите строку - ")

  for i in n.split(", "):

      words.append(i)

else:

  print("Неправильно введен номер ответа")

word = input("Введите поисковое слово - ")

for i in words:

  for j in list(word):

      if len(set(word).intersection(set(i))) == len(i):

          answer.append(i)

          break

print(", ".join(answer))

Текст для документа:

рыба, рак, щука, лебедь, карась, пескарь, баня, бубен, столб, баян, барыня

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 10 символов и содержащий только символы из 26-символьного латинского алфавита. в базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. при этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 6 байт на одного пользователя. определите объём памяти (в байтах), необходимый для хранения сведений о 30 пользователях.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

betepah
grenysherg2873
СветланаВАЛМОС
zinasekina4
soa8690
Валерьевна1601
websorokin
denchiklo2299667
Rufilya-Belov
озерская_Мария1234
pashyanaram
sleek73
vkurnosov20008
troian07
Самохвалова-Геннадьевна