दी गई रेंज में पैलिंड्रोम गुणनफल ढूँढिए।
पैलिंड्रोम संख्या वह संख्या होती है जिसके अंकों का क्रम उलटने पर भी वह वही रहती है। जैसे 121 एक पैलिंड्रोम संख्या है, लेकिन 112 नहीं है।
संख्याओं की एक रेंज दी गई है। उस रेंज की दो संख्याओं के गुणनफल जो पैलिंड्रोम हैं, उनमें से सबसे बड़ा और सबसे छोटा पैलिंड्रोम ढूँढिए।
आपके हल को सबसे बड़ा और सबसे छोटा पैलिंड्रोम लौटाने चाहिए, और साथ ही रेंज के अंदर उनमें से हर एक के गुणनखंड भी। अगर रेंज के अंदर सबसे बड़े या सबसे छोटे पैलिंड्रोम के गुणनखंडों के एक से अधिक जोड़े हों, तो सारे जोड़े लौटाने चाहिए।
रेंज [1, 9] दी गई है (दोनों समेत)...
और इस रेंज में संभव सभी गुणनफलों की सूची यह है:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 15, 21, 24, 27, 20, 28, 32, 36, 25, 30, 35, 40, 45, 42, 48, 54, 49, 56, 63, 64, 72, 81]
इस उदाहरण में पैलिंड्रोम गुणनफल सभी एक अंक वाली संख्याएँ हैं:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
सबसे छोटा पैलिंड्रोम गुणनफल 1 है।
इसके गुणनखंड (1, 1) हैं।
सबसे बड़ा पैलिंड्रोम गुणनफल 9 है।
इसके गुणनखंड (1, 9) और (3, 3) हैं।
रेंज [10, 99] दी गई है (दोनों समेत)...
सबसे छोटा पैलिंड्रोम गुणनफल 121 है।
इसके गुणनखंड (11, 11) हैं।
सबसे बड़ा पैलिंड्रोम गुणनफल 9009 है।
इसके गुणनखंड (91, 99) हैं।
सीधे-सादे हल को टेस्ट पास करने में बहुत समय लग सकता है।
आप गुणनफल किस क्रम में जाँचते हैं, इस पर ध्यान दीजिए। इससे आप खोज उसी समय रोक पाएँगे, जब इससे बेहतर कोई पैलिंड्रोम बनना संभव न हो।
Exercism पर साइन अप कीजिए और Emacs Lisp को 103 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।