यह समस्या 13 - HP CodeWars की हालिया प्रतियोगिता के नॉन- रिपीटिंग बाइनरी से प्रेरित थी ।
चलो एक यादृच्छिक दशमलव संख्या लेते हैं, कहते हैं
727429805944311
और इसके बाइनरी प्रतिनिधित्व को देखें:
10100101011001011111110011001011101010110111110111
अब उस बाइनरी प्रतिनिधित्व को बाद के अंकों में विभाजित करें जहां अंक 0
और 1
वैकल्पिक।
1010 010101 10 0101 1 1 1 1 1 10 01 10 0101 1 1010101 101 1 1 1 101 1 1
और प्रत्येक बाद को वापस दशमलव में परिवर्तित करें।
10 21 2 5 1 1 1 1 1 2 1 2 5 1 85 5 1 1 1 5 1 1
काम
इनपुट के रूप में एकल, धनात्मक पूर्णांक लें और उपरोक्त प्रक्रिया द्वारा प्राप्त सकारात्मक पूर्णांकों के अनुक्रम को आउटपुट करें।
विवरण
- इनपुट और आउटपुट दशमलव या एकरी में होना चाहिए।
- आउटपुट में संख्याओं को एक समझदार, मानव-पठनीय फैशन में अलग किया जाना चाहिए, और उन्हें दशमलव या एकात्मक में होना चाहिए। सफेद स्थान पर कोई प्रतिबंध नहीं। वैध उत्पादन शैलियों:
[1,2,3]
,1 2 3
,1\n2\n3
जहां\n
शाब्दिक नई-पंक्तियों, आदि कर रहे हैं
परीक्षण के मामलों
Input | Output
0 | 0
1 | 1
2 | 2
3 | 1 1
4 | 2 0
5 | 5
6 | 1 2
7 | 1 1 1
8 | 2 0 0
9 | 2 1
10 | 10
50 | 1 2 2
100 | 1 2 2 0
1000 | 1 1 1 1 10 0 0
10000 | 2 1 1 2 0 2 0 0 0
12914 | 1 2 2 1 1 2 2
371017 | 5 42 10 2 1
अतिरिक्त ध्यान दें: उत्पादन में सभी नंबरों रूप में होने चाहिए (2^k-1)/3
या 2*(2^k-1)/3
। वह है, 0 1 2 5 10 21, 42, 85, 170, ...
जो OEIS में A000975 है।
|tac
मेरे उत्तर में तब रहेगा :) :)