सकारात्मक पूर्णांक दिया n > 2
। हम इसे एक सरणी में रूपांतरित करते हैं:
- यदि यह
2
खाली सरणी को वापस करने के बराबर है - अन्यथा
n
आरोही क्रमबद्ध किए गए सभी प्रमुख कारकों की सारणी बनाएं , फिर प्रत्येक तत्व अपनी संख्याओं को अभाज्य संख्या अनुक्रम में बदल देता है और अंत में अपने तत्व को सरणी में परिवर्तित करता है।
उदाहरण के लिए, संख्या 46
को सरणी में बदलने देता है । सबसे पहले, इसे इसके प्रमुख कारकों की सरणी में बदलें:
[2, 23]
संख्या 23
है 9
वें प्रधानमंत्री, इसलिए की जगह 2
खाली सरणी के साथ और 23
साथ [9]
। अब ऐरे हो गए:
[[], [9]]
के प्रधान कारकों 9
हैं 3
और 3
, इसलिए:
[[], [3, 3]]
दोनों के लिए समान करें 3
:
[[], [[2], [2]]]
और अंत में:
[[], [[[]], [[]]]]
अब, इसे एनकोड करने के लिए, हम बस प्रत्येक खुले ब्रैकेट के साथ 1
और प्रत्येक क्लोजिंग ब्रैकेट को प्रतिस्थापित करते हैं 0
, फिर सभी समाप्त होने वाले शून्य हटाते हैं और 1
अंत से एक को छोड़ते हैं । यह हमारा बाइनरी नंबर है। उपरोक्त उदाहरण का उपयोग करना:
[ ] [ [ [ ] ] [ [ ] ] ]
| | | | | | | | | | | |
| | | | | | | | | | | |
V V V V V V V V V V V V
1 0 1 1 1 0 0 1 1 0 0 0
अब बस अंतिम तीन शून्य और अंतिम छोड़ें 1
। वह संख्या बन जाती है 10111001
जो 185
दशमलव में होती है। वह अपेक्षित आउटपुट है। ध्यान दें कि मुख्य सरणी के द्विआधारी रूपांतरण ब्रैकेट में सरणी शामिल नहीं हैं।
इनपुट
n
से अधिक सकारात्मक पूर्णांक 2
।
उत्पादन
एन्कोडेड पूर्णांक n
।
नियम और IO प्रारूप
- मानक नियम लागू होते हैं।
- इनपुट स्ट्रिंग या संख्या हो सकता है (लेकिन स्ट्रिंग के मामले में यह बेस 10 में होना चाहिए)।
- आउटपुट स्ट्रिंग या संख्या हो सकता है (लेकिन स्ट्रिंग के मामले में यह बेस 10 में होना चाहिए)।
- यह कोड-गोल्फ है , बाइट्स जीत में सबसे छोटा जवाब!
परीक्षण के मामलों
अनुरोध पर अधिक परीक्षण के मामले।
3 ---> 1
4 ---> 2
5 ---> 3
6 ---> 5
7 ---> 6
8 ---> 10
9 ---> 25
10 ---> 11
10000 ---> 179189987
10001 ---> 944359
10002 ---> 183722
10003 ---> 216499
10004 ---> 2863321
10005 ---> 27030299
10006 ---> 93754
10007 ---> 223005
10008 ---> 1402478
2
क्योंकि इसे संभालने के लिए प्रस्तुतियाँ आवश्यक नहीं हैं।