Предмет: Математика, автор: damirminkhuzov2005

В однокруговом турнире без ничьих участвовали n команд (каждая сыграла с каждой по одному матчу). Победителями считаются все команды, которые выиграли не меньше партий, чем остальные. Какое наибольшее количество победителей может быть в таком турнире? На вход программе подается одно натуральное число — количество команд n (n<1000). Программа должна вывести одно число — наибольшее возможное количество победителей в таком турнире.

Ответы

Автор ответа: Удачник66
1

Ответ:

Пошаговое объяснение:

Общее количество игр равно M=n(n-1)/2.

Если число n чётное, то максимально может быть n/2 победителей.

Например, такая таблица для 6 игроков

---| 1 | 2 | 3 | 4 | 5 | 6

1 |---| В | В | П| В | П

2| П|--- | В | В| В | П

3| П| П |--- | В| П | В

4| В| П | П |---| В | В

5| П| П | В | П|--- | В

6| В | В | П | П| П|---

6/2=3 команды выиграли по 3 игры.

Если n нечётное, то максимальное число победителей равно (n-1)/2.

Вот таблица для 5 команд.

---| 1 | 2 | 3 | 4 | 5

1 |---| В | В| П | В

2 |П |--- | В| В | В

3 |П | П |---| В | П

4 | В| П | П|--- | В

5 |П | П | В| П |---

(5-1)/2 = 2 команды выиграли по 3 игры.


lad37: 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)
lad37: ВЕРНО!!!!!!!!
lad37: 100%
Похожие вопросы
Предмет: Українська мова, автор: ГИРЕЙ
Предмет: Алгебра, автор: китм1