एक और आसान चुनौती के लिए समय जिसमें सभी भाग ले सकते हैं!
कोष्ठक में अभिव्यक्ति बहुपद गुणांक है, जिसे इस प्रकार परिभाषित किया गया है:
की अनुमति दे शर्तों k मैं के सभी पूर्णांक विभाजन से अधिक लेकर n देता n पास्कल की मई के स्तर मीटर -simplex। आपका कार्य इस गुणांक की गणना करना है।
कार्य
एक प्रोग्राम या फंक्शन लिखिए जो m नंबर, n , k 1 , k 2 , ..., k m-1 और आउटपुट को लेता है या संबंधित बहुराष्ट्रीय गुणांक लौटाता है। आपका कार्यक्रम वैकल्पिक रूप से लग सकता है मी एक अतिरिक्त तर्क के रूप में अगर जरूरत हो। ध्यान दें कि k m इनपुट में नहीं है।
इन नंबरों को किसी भी प्रारूप में इनपुट किया जा सकता है, उदाहरण के लिए, सूचियों में समूहीकृत या एकरी, या कुछ और में एन्कोडेड, जब तक कि बहुराष्ट्रीय गुणांक की वास्तविक गणना आपके कोड द्वारा की जाती है, और एन्कोडिंग प्रक्रिया नहीं।
आउटपुट स्वरूप समान रूप से लचीला है।
सभी कोड n और m के लिए 1000 से एक मिनट से भी कम समय में चलने चाहिए ।
पूर्णांक अतिप्रवाह के बारे में चिंता न करें।
बहु-आयामी गुणांक की गणना करने के लिए डिज़ाइन किए गए अंतर्निर्मित की अनुमति नहीं है।
मानक खामियां लागू होती हैं।
स्कोरिंग
यह कोड गोल्फ है: बाइट्स जीत में सबसे छोटा समाधान।
परीक्षण के मामलों
Input: 3, [2, 0]
Output: 3
Input: 3, [1, 1]
Output: 6
Input: 11, [1, 4, 4]
Output: 34650
Input: 4, [1,2]
Output: 12
Input: 15, [5,4,3,2]
Output: 37837800
Input: 95, [65,4,4]
Output: 1934550571913396675776550070308250
Input: 32, [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
Output: 4015057936610313875842560000000
Input: 15, [3,3,3,3]
Output: 168168000
Input: 1000, [10,10,10,10,10,10,10,10,10,10,100,100,100,100,100,100,100,100]
Output: 1892260836114766064839886173072628322819837473493540916521650371620708316292211493005889278395285403318471457333959691477413845818795311980925098433545057962732816261282589926581281484274178579110373517415585990780259179555579119249444675675971136703240347768185200859583936041679096016595989605569764359198616300820217344233610087468418992008471158382363562679752612394898708988062100932765563185864346460326847538659268068471585720069159997090290904151003744735224635733011050421493330583941651019570222984959183118891461330718594645532241449810403071583062752945668937388999711726969103987467123014208575736645381474142475995771446030088717454857668814925642941036383273459178373839445456712918381796599882439216894107889251444932486362309407245949950539480089149687317762667940531452670088934094510294534762190299611806466111882595667632800995865129329156425174586491525505695534290243513946995156554997365435062121633281021210807821617604582625046557789259061566742237246102255343862644466345335421894369143319723958653232683916869615649006682399919540931573841920000000000000
Input: 33, [17]
Output: 1166803110
Input: 55, [28]
Output: 3824345300380220
[1000 {999 ones}]
का बिल्कुल भी प्रतिनिधित्व नहीं कर पाएंगे , क्योंकि प्रतिपादक 64-बिट फ़्लोट का प्रतिनिधित्व कर सकता है। (128-बिट फ़्लोट शायद पर्याप्त होगा, लेकिन मैं मान रहा हूं कि आप जावास्क्रिप्ट के मूल संख्या प्रकार का उपयोग करना चाहते हैं?)
1934550571913396675776550070308250
, हम उत्पादन कर सकते हैं1.9345505719133966e+33
?