При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 30 символов и содержащий только символы А, Б, В, Г, Д. Каждый такой пароль в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт, при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит. Определите, сколько байт необходимо для хранения 50 паролей.
Пояснение:
Сумма будет максимальной в том случае, если будут суммированы два самых больших числа в массива. То есть необходимо их найти и вывести их индексы. Программа снизу как раз это и вычисляет через два прохода цикла for
a = [] #объявление списка
n = 10 #кол-во элементов в списке
for i in range(0,n): #заполнение списка
a.append(int(input('Введите ['+ str(i) + "] элемент: ")))
max_number = 0 #устанавливаем начальный индекс макс. эл.
for i in range(n-1): #поиск индекса макс. эл.
if(a[max_number] < a[i+1]):
max_number = i+1
if(max_number == 0): #если индекс макс. эл = 0
pre_max_number = 1 #начальный индекс второго макс. эл. = 1
else: pre_max_number = 0 #иначе 0
for j in range(n-1): #поиск индекса второго макс. эл.
if(j+1 != max_number and a[pre_max_number] < a[j+1]):
pre_max_number = j+1
print(max_number, pre_max_number) #вывод их на экран
В ДВОИЧНОЙ
875/2 = 437, остаток: 1
437/2 = 218, остаток: 1
218/2 = 109, остаток: 0
109/2 = 54, остаток: 1
54/2 = 27, остаток: 0
27/2 = 13, остаток: 1
13/2 = 6, остаток: 1
6/2 = 3, остаток: 0
3/2 = 1, остаток: 1
1/2 = 0, остаток: 1
875(10) = 1101101011(2)
В ВОСЬМЕРИЧНОЙ
875/8 = 109, остаток: 3
109/8 = 13, остаток: 5
13/8 = 1, остаток: 5
1/8 = 0, остаток: 1
875(10) = 1553(8)
В ШЕСТНАДЦАТЕРИЧНОЙ
875/16 = 54, остаток: 11, 11 = B
54/16 = 3, остаток: 6
3/16 = 0, остаток: 3
875(10) = 36B(16)
В ДВОИЧНОЙ
Переводим целую часть 535.2510 в 2-ую систему последовательным делением на 2:
535/2 = 267, остаток: 1
267/2 = 133, остаток: 1
133/2 = 66, остаток: 1
66/2 = 33, остаток: 0
33/2 = 16, остаток: 1
16/2 = 8, остаток: 0
8/2 = 4, остаток: 0
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
535(10) = 1000010111(2)
Переводим дробную часть 535.2510 в 2-ую систему:
0.25·2 = 0.5
0.5·2 = 1.0
0.25(10) = 0.01(2)
В ВОСЬМЕРИЧНОЙ
Переводим целую часть 535.2510 в 8-ую систему последовательным делением на 8:
535/8 = 66, остаток: 7
66/8 = 8, остаток: 2
8/8 = 1, остаток: 0
1/8 = 0, остаток: 1
535(10) = 1027(8)
Переводим дробную часть 535.2510 в 8-ую систему:
0.25·8 = 2.0
0.25(10) = 0.2(8)
В ШЕСТНАДЦАТЕРИЧНОЙ
Переводим целую часть 535.2510 в 16-ую систему последовательным делением на 16:
535/16 = 33, остаток: 7
33/16 = 2, остаток: 1
2/16 = 0, остаток: 2
535(10) = 217(16 )
Переводим дробную часть 535.2510 в 16-ую систему:
0.25·16 = 4.0
0.25(10) = 0.4(16)