आपको एक यादृच्छिक 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