Предмет: Информатика, автор: 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

Объяснение:

У цьому прикладі використовується формула для обчислення кількості перемог команди, що перемогла найбільше матчів. Далі розглядаються менші кількості перемог і визначається максимальна кількість команд, які можуть здобути таку ж кількість перемог.

Похожие вопросы
Предмет: Математика, автор: ritssss