एक जिज्ञासु बच्चा एक प्रोग्राम का उपयोग करता है जो एक संख्या या अभिव्यक्ति को निम्न रूप में बदल सकता है p1^e1 * p2^e2 * ... * pn^en
:। समान के बराबर व्यय करने वाले 1
को छोड़ दिया जाता है360 = 2^3 * 3^2 * 5
बच्चा इस आउटपुट को नए इनपुट के रूप में प्रोग्राम में टाइप करता है, लेकिन वह ^
साइन को समझ नहीं पाता है , इसलिए कभी-कभी वह संबंधित प्राइम-बेस और एक्सपोनेंट को समेटने वालों में से एक या अधिक को छोड़ देता है। उदाहरण के लिए(360 =) 2^3 * 3^2 * 5 => 2^3 * 32 * 5 (= 1280)
इन गलतियों के कारण उसे एक अलग कारक मिल सकता है जिसे वह फिर से इनपुट कर सकती है (0 या अधिक स्किप करने के साथ ^
)। वह तब तक प्रक्रिया को दोहराती है जब तक कि कारक अब और नहीं बदलता (हो सकता है कि कोई और अधिक हो ^
या उसने आउटपुट को सही तरीके से कॉपी किया हो)।
आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो एक पूर्णांक दिया n
( n>1
) बढ़ते क्रम में सभी संभावित संख्याओं को आउटपुट करता है जिसका कारक वह हो सकता है जिसमें बच्चा (सहित n
) समाप्त हो गया । इनपुट के 16
लिए संभव अंतिम कारक हैं(16 =) 2^4, (24 =) 2^3 * 3, (23*3 =) 3 * 23
इनपुट विवरण:
- इनपुट एकल पूर्णांक से बड़ा है
1
- ऐसा कोई इनपुट नहीं दिया जाएगा जो आउटपुट संख्या से अधिक उत्पन्न करता है
2^31-1
- कोई इनपुट नहीं दिया जाएगा जो
1000
आउटपुट संख्या से अधिक उत्पन्न करता है
आउटपुट विवरण:
- अपनी भाषा के लिए एक सुविधाजनक रूप में पूर्णांक की एक सूची
उदाहरण:
इनपुट => आउटपुट
11 => 11
16 => 16 24 69
360 => 140 360 770 1035 1219 1280 2875 3680
605 => 560 605 840 2415
2048 => 211 2048
58564 => 230 456 1311 2508 9975 12768 13794 20748 58564 114114 322102
यह कोड-गोल्फ है इसलिए सबसे कम कार्यक्रम जीतता है।