Rasgele 18 delikli bir golf sahası oluşturmanız gerekmektedir.
Örnek çıktı:
[3 4 3 5 5 4 4 4 5 3 3 4 4 3 4 5 5 4]
Kurallar:
- Programınız tam 18 delik için delik uzunluklarının bir listesini çıkarmalıdır
- Her deliğin uzunluğu 3, 4 veya 5 olmalıdır
- Delik uzunlukları tüm kurs için 72'ye kadar eklemelidir
- Programınız, sıfır olasılıksız bazı olasılıklarla mümkün olan her delik konfigürasyonunu üretebilmelidir (her konfigürasyonun olasılıklarının eşit olması gerekmez, ancak bu durumda ekstra kudos talep etmekten çekinmeyin)
4
ve sadece olasılıklar vardır 3
, 4
ya 5
, olası çözüm sınıfları {vardır 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
}. Bu hesaplanabilir 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
. Bu, yaklaşık 11.4%
olarak tüm olası kombinasyonların geçerli çözümleri olduğu anlamına gelir (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)
verir44152809L