Вы должны создать случайное поле для гольфа на 18 лунок.
Пример вывода:
[3 4 3 5 5 4 4 4 5 3 3 4 4 3 4 5 5 4]
Правила:
- Ваша программа должна вывести список длин отверстий точно для 18 отверстий
- Каждое отверстие должно иметь длину 3, 4 или 5
- Длина лунки должна составлять до 72 за весь курс
- Ваша программа должна иметь возможность производить каждую возможную конфигурацию дырок с некоторой ненулевой вероятностью (вероятности каждой конфигурации не обязательно должны быть равными, но вы можете требовать дополнительных похвал в этом случае)
4, и единственные возможности 3, 4или 5, возможное решение классы { no 3's or 5's, one 3 and one 5, two 3's and two 5's, ..., nine 3's and nine 5's}. Это можно рассчитать по nCr(18,0)*nCr(18,0) + nCr(18,1)*nCr(17,1) + nCr(18,2)*nCr(16,2) + ... + nCr(18,9)*nCr(9,9) = 44,152,809. Это означает, что приблизительно 11.4%все возможные комбинации являются действительными решениями (44,152,809 / 3^18).
sum(factorial(18)/factorial(x)/factorial(y)/factorial(z) for x in range(25) for y in range(25) for z in range(25) if 3*x+4*y+5*z == 72 and x+y+z == 18)дает44152809L
