[यह सम्भावना है कि वास्तव में एक संभावना की गणना करने के लिए एक साथी प्रश्न है ]
यह कार्य वास्तव में एक संभावना की गणना करने के कोड लिखने के बारे में है और जल्दी से । आउटपुट एक सटीक संभाव्यता होना चाहिए जो कि इसके सबसे कम रूप में एक अंश के रूप में लिखा गया हो। वह यह है कि उत्पादन कभी नहीं 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


