Предмет: Информатика,
автор: innavudruk
Задача 11. У турнірі без нічиїх брало участь N команд. Кожна зіграла з кожною по одному матчу. Переможцями вважаються всі команди, які виграли не менш партій, ніж інші. Яку найбільшу кількість переможців може бути в такому турнірі?
програма (Python)
будь ласка допоможіть!!
Ответы
Автор ответа:
0
Ответ:
from math import comb, floor
def num_of_winners(n: int) -> int:
max_wins = 0
for i in range(1, n+1):
wins = floor(i * comb(n-i, 2) / (n-i+1))
if wins >= max_wins:
max_wins = wins
else:
break
return i-1
print(num_of_winners(5)) # 3
Объяснение:
У цьому прикладі використовується формула для обчислення кількості перемог команди, що перемогла найбільше матчів. Далі розглядаються менші кількості перемог і визначається максимальна кількість команд, які можуть здобути таку ж кількість перемог.
Похожие вопросы
Предмет: Биология,
автор: fedorovavitalinka
Предмет: Английский язык,
автор: margonazarievna
Предмет: Математика,
автор: ritssss
Предмет: Қазақ тiлi,
автор: ksy26072007
Предмет: Другие предметы,
автор: lelyaveselova89