Similar presentations:
Обработка массива целых чисел из файла
1. Обработка массива целых чисел из файла
2.
Досрочный 2022и пробный
3.
4.
1) Используя настраиваемую сортировку.Сортируем оба столбца по возрастанию
2) В ячейку С2 вводим формулу
=ЕСЛИ(И(A2=A1;B2-B1=12);1;0)
Ответ 1) 2261 это ряд
2) Первое место которое будет не засажено 5087
5.
Решение на ПИТОНЕ6.
Пример 17.
23 446628.
Пример 29.
1)2)
Считаем суммарный вес группы товаров а) B1 копируем в C1 вводим б) в ячейку С2 =ЕСЛИ(A2=A1;C2+B2;B2)
10.
3) Посмотрим какие товары мы не возьмем в ячейки D1 вводим =ЕСЛИ(C1>500;1;0)0 – берем
1 – не берем
Ответ: 1) Останется 391 товар (выдели столбец D и посмотри сумму)
2) Ищем максимальный
Вставлю строку для фильтрации
15230058
11.
Решение на питоне12.
Пример 3Дикая задача
13.
target = 'A'with open("26-64.txt") as F:
N, M = map( int, F.readline().split() )
data = []
for i in range(N):
d = F.readline().split()
data.append( (int(d[0]), d[1]) )
data.sort()
print( data )
# определяем максимальное общее число деталей
count, S = {}, 0
for i in range(N):
v, m = data[i]
if S+v <= M:
iLast = i
S += v
print(v, m)
count[m] = count.get(m, 0) + 1
# пытаемся увеличить количество target
remainingA = [ (v, m) for v, m in data[iLast+1:]
if m == target ]
i = iLast
while remainingA and i >= 0:
v, m = data[i]
if m != target:
vA, mA = remainingA.pop(0)
if S - v + vA <= M:
count[target] = count.get(target, 0) + 1
S = S - v + vA
print( i, '*', -v, m, '<-', vA, mA, ':', M - S )
else:
break
i -= 1
print( count[target], M - S )
14.
Пример 415.
10358 168816.
Пример 517.
18.
Пример 619.
423 50120.
Пример 721.
target = 'Q'with open("26-62.txt") as F:
N, M = map( int, F.readline().split() )
data = []
for i in range(N):
d = F.readline().split()
data.append( (int(d[0]), d[1]) )
data.sort()
print( data )
# определяем максимальное общее число деталей
count, S = {}, 0
for i in range(N):
v, m = data[i]
if S+v <= M:
iLast = i
S += v
print(v, m)
count[m] = count.get(m, 0) + 1
# пытаемся увеличить количество target
remainingA = [ (v, m) for v, m in data[iLast+1:]
if m == target ]
i = iLast
while remainingA and i >= 0:
v, m = data[i]
if m != target:
vA, mA = remainingA.pop(0)
if S - v + vA <= M:
count[target] = count.get(target, 0) + 1
S = S - v + vA
print( i, '*', -v, m, '<-', vA, mA, ':', M - S )
else:
break
i -= 1
print( count[target], M - S )