परिभाषाएं
आज्ञा देना mऔर nसकारात्मक पूर्णांक हो। हम कहते हैं कि mएक है भाजक मोड़ के nपूर्णांक वहां मौजूद है, तो 1 < a ≤ bऐसा है कि n = a*bऔर m = (a - 1)*(b + 1) + 1। यदि mइसे nशून्य या अधिक विभाजक ट्विस्ट लगाकर प्राप्त किया जा सकता है, तो mइसका एक वंशज है n। ध्यान दें कि हर नंबर का अपना वंशज है।
उदाहरण के लिए, विचार करें n = 16। हम चुन सकते हैं a = 2और b = 8, तब से 2*8 = 16। फिर
(a - 1)*(b + 1) + 1 = 1*9 + 1 = 10
जो दिखाता है कि 10एक भाजक मोड़ है 16। साथ a = 2और b = 5, हम तो देखते हैं कि 7का एक भाजक मोड़ है 10। इस प्रकार 7का वंशज है 16।
काम
एक सकारात्मक पूर्णांक को देखते हुए , डुप्लिकेट के बिना, बढ़ते क्रम में सूचीबद्ध nके वंशज की गणना करें n।
नियम
आपको अंतर्निहित ऑपरेशन का उपयोग करने की अनुमति नहीं है जो किसी संख्या के विभाजकों की गणना करते हैं।
पूर्ण कार्यक्रमों और कार्यों दोनों को स्वीकार किया जाता है, और एक संग्रह डेटाटाइप (जैसे किसी प्रकार का एक सेट) को वापस करने की अनुमति दी जाती है, जब तक कि इसे क्रमबद्ध और डुप्लिकेट-मुक्त नहीं किया जाता है। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है।
परीक्षण के मामलों
1 -> [1]
2 -> [2] (any prime number returns just itself)
4 -> [4]
16 -> [7, 10, 16]
28 -> [7, 10, 16, 25, 28]
51 -> [37, 51]
60 -> [7, 10, 11, 13, 15, 16, 17, 18, 23, 25, 28, 29, 30, 32, 43, 46, 49, 53, 55, 56, 60]
<प्राकृतिक संख्याओं के लिए संबंध को परिभाषित करते हैं , तो प्रत्येक n के लिए आप हर संख्या को इससे छोटा पाते हैं, लेकिन स्वयं नहीं। मुझे लगता है कि यह कुछ इसी तरह का होना चाहिए। इस तरह मुझे लगता है कि केवल 4 ही इसका वंशज होगा (इस बारे में निश्चित नहीं है, हालांकि)।