Составление турнира(Python)
Проводится круговой турнир,в котором все соперники играют друг с другом ровно один раз. Вводим число n (n>0). Теперь имеется 2^n команд. Соперник 1 — сильнейший, соперник 2 — второй по силе, …, соперник 2^n — слабейший.Сильнейший соперник выиграет (2^n)-1 встреч и проиграет 0, второй по силе соответственно - (2^n)-2 и 1 (уступит лишь сильнейшему), …, а самый слабый — 0 и (2^n)-1 (проиграет всем).
Если встречаются соперники i и j, i < j, положим вероятность победы игрока i равной 1/2 + (j - i)/((2^n)+1).Тем самым более сильный соперник побеждает с вероятностью, превышающей половину( то есть все таки поражение более сильной команды можно допустить,но вероятность победы больше вероятности поражения). За победу дается 3 очка,за поражение - 0(турнир без ничьих).
После каждого тура выводим информацию о матчах - (Пример: соперник 1 - соперник 4, победитель: соперник 1). Упорядочим соперников в соответствии с набранным в круговом турнире количеством очков. После всех сыгранных туров выводим итоговую таблицу с расположением команд и количеством набранных очков.