lenadanilova77
21.02.2022 06:57

СОВЕРШЕННО НИЧЕГО НЕ ПОНЯТНОООООО

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
geliebtemutter
13.09.2022 06:52

Var

День,месяц:byte;

Begin

Write('№ дня = ');ReadLn(День)

Var C: = 365 - День

Write('№ месяца = ');ReadLn(Месяц);

Case Месяц of

2:C:=C-31;

3:C:=C-59;

4:C:=C-90;

5:C:=C-120;

6:C:=C-151;

7:C:=C-181;

8:C:=C-212;

9:C:=C-243;

10:C:=C-273;

11:C:=C-304;

12:C:=C-334

End;

if (C mod 100>10)and(C mod 100<20) then Write('До нового года осталось ',C,' дней')

else

Case C mod 10 of

1:Write('До нового года остался ',C,' день');

2..4:Write('До нового года осталось ',C,' дня');

0,5..9:Write('До нового года осталось ',C,' дней')

End

End.

0,0(0 оценок)
Ответ:
igorpuzyrev1
06.11.2021 05:16

Объяснение:

Введу две новые переменные: div(n, m) = a и mod(n, m) = b, где div и mod - целая часть и остаток от деления n на m.

Если в команде k человек, у них будет k (k - 1)/2 рукопожатий: каждый из k людей пожмет руку (k - 1) человеку, но каждое рукопожатие будет посчитано дважды.

Сначала порассуждаем о минимальном количестве рукопожатий. Пусть в одной группе a человек, в другой b, и a - b > 1. Тогда всего рукопожатий в этих двух группах

\dfrac{a(a-1)}2+\dfrac{b(b-1)}2

Переведём одного человека из большой группы в малую. Новое число рукопожатий

\dfrac{(a-1)(a-2)}2+\dfrac{b(b+1)}2

Считаем, на сколько изменилось общее число рукопожатий:

\left(\dfrac{(a-1)(a-2)}2+\dfrac{b(b+1)}2\right)-\left(\dfrac{a(a-1)}2+\dfrac{b(b-1)}2\right)=\\=1-(a-b)

Поскольку мы считали, что a - b > 1, то после перевода количество рукопожатий уменьшилось. Значит, для получения минимального числа рукопожатий количество людей в группах должно отличаться не более, чем на 1. Очевидно, нужно b групп сделать из a + 1 человека, а оставшиеся m - b групп сделать из a человек.

В этом случае количество рукопожатий получится равным

b\cdot\dfrac{a(a+1)}2+(m-b)\cdot\dfrac{a(a-1)}2

Теперь в другую сторону: если нужно увеличить число рукопожатий, нужно, чтобы разность между количествами людей в группах была максимальной. Рассматривая все пары по очереди, получаем, что для этого нужно во все группы, кроме одной, положить по одному человеку. Тогда во всех маленьких группах не будет ни одного рукопожатия, а в большой - ровно

\dfrac{(n-m+1)(n-m)}2

рукопожатий.

Программа (python 3):

n = int(input())

m = int(input())

a, b = divmod(n, m)

print(b * a * (a + 1) // 2 + (m - b) * a * (a - 1) // 2)

print((n - m + 1) * (n - m) // 2)

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота