Cody

Problem 3054. Chess ELO rating system

Solution 2264225

Submitted on 8 May 2020 by Lawrence Bray
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
players = 1000; result = 1; assert(isequal(algo400(players,result),1400))

y = 1400

2   Pass
players = 1000; result = 0.5; assert(isequal(algo400(players,result),1000))

y = 1000 y = 1000

3   Pass
assert(isequal(algo400([2000 2000],[0.5 0.5]),2000))

y = 2000 y = 4000 y = 2000

4   Pass
players = [2000 2000]; result = [1 1]; assert(isequal(algo400(players,result),2400))

y = 2400

5   Pass
players = [2000 2000]; result = [0.5 1]; assert(isequal(algo400(players,result),2200))

y = 2000 y = 2200

6   Pass
players = [2000 2100 2200 2300]; result = [1 0.5 1 0.5]; assert(isequal(algo400(players,result),2350))

y = 4500 y = 9400 y = 2350

7   Pass
players = 1000; result = 1; assert(isequal(algo400(players,result),1400))

y = 1400

8   Pass
players = [1399 1280 2166 1534 1768 1791 1540]; result = [1 1 0 1 1 0 1]; assert(isequal(round(algo400(players,result)),1811))

y = 1.8111e+03

9   Pass
players = [2000 2100 2200 2300]; result = [0.5 0.5 0.5 0.5]; assert(isequal(algo400(players,result),2150))

y = 2000 y = 4100 y = 6300 y = 8600 y = 2150

10   Pass
players = [2772 2768 2877 2805 2787 2772 2768 2877 2787 2805]; result = [1 1 1 1 1 1 1 0.5 0.5 0.5]; assert(isequal(round(algo400(players,result)),3082))

y = 25226 y = 28013 y = 30818 y = 3.0818e+03