[यह सम्भावना है कि वास्तव में एक संभावना की गणना करने के लिए एक साथी प्रश्न है ]
यह कार्य वास्तव में एक संभावना की गणना करने के कोड लिखने के बारे में है और जल्दी से । आउटपुट एक सटीक संभाव्यता होना चाहिए जो कि इसके सबसे कम रूप में एक अंश के रूप में लिखा गया हो। वह यह है कि उत्पादन कभी नहीं 4/8
बल्कि होना चाहिए 1/2
।
कुछ सकारात्मक पूर्णांक के लिए n
, लंबाई के 1s और -1 के समान रूप से यादृच्छिक स्ट्रिंग पर विचार n
करें और इसे कॉल करें। ए। अब A
अपने पहले मूल्य के लिए संक्षिप्त करें । A[1] = A[n+1]
यदि 1. से अनुक्रमण किया जाता है, तो A
अब लंबाई है n+1
। अब लंबाई के दूसरे यादृच्छिक स्ट्रिंग पर भी विचार करें n
जिनके पहले n
मान -1, 0 या 1 हैं, प्रायिकता के साथ 1 / 4,1 / 2, 1/4 प्रत्येक और इसे बी कहते हैं।
अब की आंतरिक उत्पाद पर विचार A[1,...,n]
और B
और की आंतरिक उत्पाद A[2,...,n+1]
और B
।
उदाहरण के लिए, विचार करें n=3
। संभावित मान हैं A
और B
हो सकता है A = [-1,1,1,-1]
और B=[0,1,-1]
। इस मामले में दो आंतरिक उत्पाद हैं 0
और 2
।
आपके कोड को इस संभावना को आउटपुट करना होगा कि दोनों आंतरिक उत्पाद शून्य हैं।
मार्टिन ब्यूटनर द्वारा निर्मित तालिका की नकल करना हमारे पास निम्नलिखित नमूना परिणाम हैं।
n P(n)
1 1/2
2 3/8
3 7/32
4 89/512
5 269/2048
6 903/8192
7 3035/32768
8 169801/2097152
भाषा और पुस्तकालय
आप किसी भी स्वतंत्र रूप से उपलब्ध भाषा और अपनी पसंद की लाइब्रेरी का उपयोग कर सकते हैं। मुझे आपका कोड चलाने में सक्षम होना चाहिए ताकि कृपया अपने कोड को लिनक्स में चलाने / संकलित करने के लिए एक पूर्ण विवरण शामिल करें यदि संभव हो तो।
काम
आपका कोड n=1
एक अलग लाइन पर प्रत्येक बढ़ते n के लिए सही आउटपुट के साथ शुरू होना चाहिए । इसे 10 सेकंड के बाद रोकना चाहिए।
स्कोर
n
आपके कंप्यूटर पर चलने पर 10 सेकंड के बाद आपका कोड रुकने से पहले स्कोर बस उच्चतम तक पहुंच जाता है। यदि कोई टाई है, तो विजेता सबसे अधिक स्कोर प्राप्त करने वाला व्यक्ति होगा।
प्रविष्टियों की तालिका
n = 64
में अजगर । मिच श्वार्ट्ज द्वारा संस्करण 1n = 106
में अजगर । संस्करण 11 जून 2015 मिच श्वार्ट्ज द्वाराn = 151
में सी ++ । पोर्ट ऑफ मिच श्वार्ट्ज के उत्तर kirbyfan64sos द्वाराn = 165
में अजगर । संस्करण 11 जून 2015 के साथ मिच श्वार्ट्ज द्वारा "प्रूनिंग" संस्करणN_MAX = 165
।n = 945
एक सटीक सूत्र का उपयोग करके Min_25 द्वारा पायथन में । गजब का!n = 1228
एक और सटीक सूत्र (Min_25 के पिछले उत्तर के आधार पर) का उपयोग करके मिच श्वार्ट्ज द्वारा पायथन में ।n = 2761
एक ही सटीक सूत्र के तेजी से कार्यान्वयन का उपयोग करके मिच श्वार्ट्ज द्वारा पायथन में ।n = 3250
उसी कार्यान्वयन का उपयोग करके मिच श्वार्ट्ज द्वारा पाइपी का उपयोग करते हुए पायथन में । इस स्कोर को ओवरहेड स्क्रॉलिंग कंसोल से बचने की आवश्यकता है।pypy MitchSchwartz-faster.py |tail