किसी संख्या का वर्ग संख्या अंक घनत्व (SNDD) - खुद के द्वारा आविष्कार किया गया - संख्या की लंबाई तक लगातार अंकों में पाए जाने वाले वर्ग संख्याओं की गिनती का अनुपात है। उदाहरण के लिए, 169 एक 3-अंकीय संख्या है जिसमें 4 वर्ग संख्याएँ हैं - 1, 9, 16, 169 - और इस प्रकार 4/3 या 1.33 का वर्ग संख्या अंक घनत्व है। 4-अंकीय संख्या 1444 में 6 वर्ग हैं - 1, 4, 4, 4, 144, 1444 - और इस प्रकार 6/4, या 1.5 का अनुपात। पिछले उदाहरण में ध्यान दें कि वर्गों को दोहराया जाने की अनुमति है। साथ ही, 441 की अनुमति नहीं है, क्योंकि यह संख्या 1444 के अंदर लगातार नहीं मिल सकती है।
आपका कार्य एक प्रोग्राम लिखना है जो कि उच्चतम वर्ग संख्या अंक घनत्व के साथ संख्या के लिए दिए गए रेंज ए - बी (समावेशी) की खोज करता है। आपके कार्यक्रम को निम्नलिखित विशिष्टताओं का पालन करना चाहिए:
- 1, 1,000,000,000 (1 बिलियन) की सीमा में इनपुट A, B को लें। उदाहरण:
sndd 50 1000 - परिणामस्वरूप सबसे बड़ी SNDD के साथ संख्या के रूप में लौटें। एक टाई के मामले में, सबसे छोटी संख्या लौटाएं।
- 0 किसी भी रूप में 0, 00, 000, आदि किसी वर्ग के रूप में नहीं गिना जाता है, न ही वर्ग 0 से शुरू होता है, जैसे 049 या 0049।
- ध्यान दें कि पूरी संख्या में एक वर्ग संख्या नहीं है।
उदाहरण:
sndd 14000 15000
Output: 14441
sndd 300 500
Output: 441
बोनस: 1 और 1,000,000,000 के बीच सबसे बड़ी SNDD के साथ संख्या क्या है? क्या आप साबित कर सकते हैं कि क्या यह सबसे बड़ा संभव है, या उच्च श्रेणी में कोई बड़ा हो सकता है?
वर्तमान स्कोर:
- रूबी: 142
- विंडोज पॉवरशेल: 153
- स्काला: 222
- पायथन: 245
अब जब एक उत्तर का चयन किया गया है, तो यहां जावास्क्रिप्ट में मेरा (अपवित्र) संदर्भ कार्यान्वयन है: http://jsfiddle.net/ywc25/2/