import random
list2 = [random.randrange(1, 3, 1) for i in range(9)]
list1 = ["Иванов", "Евсеев" , "Сафонов", "Попов", "Яловой", "Шуфрич", "Сыпченко", "Доронин", "Орехов"]
list_first = []
list_second = []
random.shuffle (list1)
i = 0
while i < len(list2):
if (list2[i] == 1):
list_first.append(list1[i])
else:
list_second.append(list1[i])
i += 1
print("Первая команда: ",list_first)
print("Вторая команда: ",list_second)
Ну, собственно наш алфавит по условию состоит из 36 символов. Следовательно необходимо расчитать сколько будет занимать универсальный размер переменной, в которую можно будет зашифровать любой из символов.
Бит может принять два состояния, либо 0, либо 1. Следовательно, 1 битом можно закодировать 2 символа. Двумя же битам мы можем зашифровать уже 2 * 2 = 4 символа (умножили два возможных состояния одного бита на другой), нам же нужно 36. Вспоминаем ряд двойки и идем по нему:
2^3 = 8 (слишком мало)
2^4 = 16 (всё ещё не достаточно)
2^5 = 32 (близко, но не сможем зашифровать ещё 4 символа)
2^6 = 64 (то что нужно, 64 > 36, это и есть минимальное кол-во бит)
Итак, что бы зашифровать символ из алфавита размером в 36 символов, нам понадобится минимальная переменная, что сможет его зашифровать, размером в 64 бита.
Сообщение размером в 140 символов, тут уже просто, нужно всего лишь...
Ладно, это не банеры, ссылок по которым клацать нет) 140 * 64 = 8960 бит.
Не пугайся числа, оно хоть и большое, но точно не по компьютерным меркам :)
Давай удивим преподавателя и переведем это в другие еденицы измерения:
8960 / 8(столько занимает "байт") = 1120 байт
1120 / 1024 (небольшая путаница, все последующие единицы измерения занимают в отличии от байта по 1024 раза больше) = 1.9375 килобайта.
Собственно говоря ответ задачи: 8960 бит, либо 1120 байт, либо 1.94 килобайта.
C#
using System;
namespace ArrayMax
{
class Program
{
static void Main(string[] args)
{
int n;
Console.WriteLine("Введите количество элементов массива: ");
n = Convert.ToInt32(Console.ReadLine()); //вводим количество элементов Массива
Console.WriteLine();
int[] a = new int[n]; //выделяем память под массив
Random r = new Random();
for (int i = 0; i < n; i++)
{
a[i] = r.Next(0, 20); //заполняем массив рандомными числами от 0 до 20
}
for (int i = 0; i < n; i++)
{
Console.WriteLine(a[i]); //выводим массив
}
int max = a[0], maxIndex = 0;
for (int i = 0; i < n; i++)
{
if (max < a[i])
{
max = a[i];
maxIndex = i; //находим индекс максимального элемента
}
}
int count = 0; //счётчик для чисел между 1 и 12 до макс элемента
for (int i = 0; i <= maxIndex; i++)
{
if (a[i] >= 1 && a[i] <= 12) //если элемент >= 1 и <= 12, прибавляем счётчик
count++;
}
Console.WriteLine();
Console.WriteLine(count); //выводим количество числе от 1 до 12 до макс эл массива
Console.ReadKey();
}
}
}
110011 = 51(10)
111 = 21(10)
35 = 29(10)
1B = 27(10)
Самой большое число 110011