कार्यकारी सारांश
इनपुट को देखते हुए k, पूर्णांकों का एक विभाजन को खोजने 1के लिए nमें kसबसे बड़ा के लिए योग से मुक्त सबसेट n10 मिनट के भीतर आप कर सकते हैं।
बैकग्राउंडर: शूर नंबर
एक सेट Aहै योग से मुक्त करता है, तो उसकी स्व-राशि A + A = { x + y | x, y in A}इसके साथ आम में कोई तत्व है।
प्रत्येक सकारात्मक पूर्णांक के लिए kसबसे बड़ा पूर्णांक होता है S(k)जैसे कि सेट {1, 2, ..., S(k)}को kयोग-मुक्त सबसेट में विभाजित किया जा सकता है । इस नंबर को k th Schur नंबर (OEIS A045652 ) कहा जाता है ।
उदाहरण के लिए, S(2) = 4। हम के {1, 2, 3, 4}रूप में विभाजन कर सकते हैं {1, 4}, {2, 3}, और वह दो योगों वाले सबसे अच्छे उप-योगों में अद्वितीय विभाजन है, लेकिन अब हम 5किसी भी हिस्से में नहीं जोड़ सकते हैं ।
चुनौती
एक निर्धारक कार्यक्रम लिखिए जो निम्नलिखित कार्य करता है:
kइनपुट के रूप में एक सकारात्मक पूर्णांक लें- स्टडआउट के लिए वर्तमान यूनिक्स टाइमस्टैम्प लिखें
- के विभाजन का एक अनुक्रम आउटपुट
1के लिएnमेंkबढ़ाने के लिए योग से मुक्त सबसेटn, वर्तमान यूनिक्स टाइमस्टैम्प के साथ प्रत्येक अनुक्रम के बाद।
विजेता वह प्रोग्राम होगा जो nइनपुट दिए जाने पर मेरे कंप्यूटर पर 10 मिनट के भीतर सबसे बड़े विभाजन को प्रिंट करता है 5। nतीन से अधिक रन के औसत के लिए विभाजन को खोजने के लिए सबसे तेज समय से संबंध टूट जाएगा : यही कारण है कि आउटपुट में टाइमलैम्प शामिल होना चाहिए।
महत्वपूर्ण विवरण:
- मेरे पास Ubuntu Precise है, इसलिए यदि आपकी भाषा समर्थित नहीं है तो मैं इसे स्कोर नहीं कर पाऊंगा।
- मेरे पास एक Intel Core2 क्वाड सीपीयू है, इसलिए यदि आप मल्टीथ्रेडिंग का उपयोग करना चाहते हैं तो 4 थ्रेड से अधिक का उपयोग करने का कोई मतलब नहीं है।
- यदि आप चाहते हैं कि मैं किसी विशेष संकलक झंडे या कार्यान्वयन का उपयोग करूं, तो आपके उत्तर में स्पष्ट रूप से दस्तावेज।
- इनपुट को संभालने के लिए आपको अपना कोड विशेष-मामला नहीं बनाना चाहिए
5। - आपको अपने द्वारा खोजे गए हर सुधार को आउटपुट करने की आवश्यकता नहीं है। उदाहरण के लिए इनपुट के लिए
2आप केवल विभाजन को ही आउटपुट कर सकते हैंn = 4। हालाँकि, यदि आप पहले 10 मिनट में कुछ भी आउटपुट नहीं करते हैं, तो मैं इसे स्कोर करूँगाn = 0।
n=59, और कम से कम की अनुमति दी संख्या की सबसे बड़ी संख्या के आधार पर क्रमितnextNदेता हैn=64। अस्वीकृत संख्या सूची की लंबाई के आधार पर छंटनी (जिसमें दोहराव हो सकता है) बहुत जल्दी एक सुंदरn=30पैटर्न की ओर ले जाती है ।