← К задачам
Тяжело · +5Математика

Рейтинг Эло

Шахматный клуб после каждой партии пересчитывает рейтинги игроков по системе Эло.

Ожидаемый результат игрока вычисляется по формуле E = 1 / (1 + 10**((opponent - rating) / 400)), а новый рейтинг — rating + k*(score - E), где score равен 1 за победу, 0.5 за ничью и 0 за поражение, а k — коэффициент развития.

Напиши функцию new_rating(rating, opponent, score, k), которая принимает текущий рейтинг игрока rating, рейтинг соперника opponent (целые), результат score (1, 0.5 или 0) и коэффициент k (целое), и возвращает новый рейтинг, округлённый до целого числа.

Примеры:

new_rating(1500, 1500, 1, 32) -> 1516
new_rating(1400, 1600, 1, 32) -> 1424
def new_rating(rating, opponent, score, k):
    pass
Для запуска тестов необходима авторизация.
Поддержать проект