Можете объяснить код к задачи по строкам. адача №111159. Создание архива
Системный администратор вспомнил, что давно не делал архива пользовательских файлов.Однако, объем диска, куда он может поместить архив, может быть меньше чем суммарный объем архивируемых файлов.
Известно, какой объем занимают файлы каждого пользователя.
Напишите программу, которая по заданной информации о пользователях и свободному объему на архивном диске определит максимальное число пользователей, чьи данные можно поместить в архив, при этом используя свободное место как можно более полно.
Входные данные
Программа получает на вход в одной строке число
S
– размер свободного места на диске (натуральное, не превышает 10000), и число
N
– количество пользователей (натуральное, не превышает 100), после этого идет
N
чисел - объем данных каждого пользователя (натуральное, не превышает 1000), записанных каждое в отдельной строке.
Выходные данные
Выведите наибольшее количество пользователей, чьи данные могут быть помешены в архив.
Примеры
входные данные
100 2
200
50
выходные данные
1
входные данные m, b = map(int, input().split())
A = []
B = []
z = 0
sum = 0
while z < b:
A.append(int(input()))
z = z + 1
A = sorted(A)
for i in range(len(A)):
if sum < m:
B.append(A[i])
sum += A[i]
if sum > m:
B.pop()
print(len(B))
однажды жила принцесса но злая мачеха узнала что она встречается с бедным парнем то она заперла её в темнице. А парень узнал об этом и побежал к своему другу изобретателю а тот ему дал какуюта штуку.
-что это - сказал парень
- это телефон - ответил изобретатель - он тебе
и во парень закинул телефон принцессе и они начали разговаривать и веселиться. Но об этом скоро узнала мачеха
- что ты делаешь? - спросила мачеха и отобрала у неё телефон
но парень снова побежал к своему другу изобретателю а тот ему дал компьютер который изобрёл вчера вечером и объяснил как им пользоваться. И каждый день они связывались по компьютеру. А мачеха узнала об этом и взорвалась со злости. И исчезла башня и принцесса была на свободе. И вскоре принцесса с парнем поженились и вспоминали компьютер. И каждый раз благодарили изобретателя.
В ДВОИЧНОЙ
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)