मुझे एक साक्षात्कार में निम्नलिखित समस्या दी गई है (कि मैं पहले से ही हल करने में विफल रहा हूं, मेरे अतीत को धोखा देने की कोशिश नहीं कर रहा हूं): खेल एक सकारात्मक पूर्णांक संख्या शुरू होता है । (उदा। ) यह संख्या बाइनरी प्रतिनिधित्व में बदल जाती है, और बिट्स की संख्या सेट होती है । (जैसे , )
खिलाड़ी 1 एक संख्या चुनता की तुलना में कम । में केवल एक बिट सेट होना चाहिए 1. (जैसे ) । (जैसे ) एक चाल वैध है यदि पिछले बाधाओं को संतुष्ट करता है, और यदि में सेट बिट्स की संख्या अभी भी N के बराबर है ।
खिलाड़ी 2 से जारी है एक वैध का चयन करके , तो खिलाड़ी 1 से जारी है A_2 , और इसके आगे। यदि उनके पास कोई वैध चाल नहीं है तो एक खिलाड़ी हार जाता है।
यह मानते हुए कि दोनों खिलाड़ी बेहतर खेलते हैं, एक उचित कुशल विधि का उपयोग करके विजेता खिलाड़ी का निर्धारण करें। (मेरी समस्या की परिभाषा में, इस पर अड़चनें यह थीं कि कार्यक्रम को कुछ मिलियन इनपुट संख्याओं के लिए एक समाधान देने में सक्षम होना चाहिए जो हस्ताक्षर किए गए 32-बिट पूर्णांक में फिट होते हैं।) अर्थात, समाधान की आवश्यकता नहीं है। पूरी तरह से विश्लेषणात्मक।
यहां मेरा व्यक्तिगत हित इस बात का पता लगा रहा है कि क्या 120 मिनट में मुझे दिए गए किसी भी तरीके के फीडबैक पर सही प्रतिक्रिया के साथ सही समाधान मिल गया है या नहीं; या यदि यह उन लोगों में से एक था, "आइए देखें कि क्या उन्होंने इस पहेली को" प्रश्नों से पहले देखा है।
मैं विफल हो गया क्योंकि मैंने एक उचित रणनीति की तरह लागू करने के लिए चुना, जिसने मुझे कुछ परीक्षण मामलों के लिए सही परिणाम दिए जो कि मुझे दिया गया है, इस रन को बनाने में बहुत समय बर्बाद किया, और गलत तरीके से सौंपना समाप्त कर दिया। पूर्ण उत्पादन के रूप में मेरा समय भाग गया।
पूर्वव्यापी में मुझे एक ब्रूट-फोर्स खोज को लागू करना चाहिए और छोटे शुरुआती नंबरों के लिए आंशिक समाधानों को याद रखना चाहिए, लेकिन बाधा हमेशा 20/20 है। मैं उत्सुक हूँ लेकिन अगर वहाँ एक अलग आम दृष्टिकोण है कि मुझे एक शराबी के रूप में हटा दिया है।