आपका कार्य निम्न चरणों के साथ धीरे-धीरे घातांक की गणना करना है:
दो आदानों (इस उदाहरण में, 4 और 8) को देखते हुए, आपको समीकरण की गणना बिट द्वारा समीकरण बिट द्वारा करनी चाहिए। आप 4^8
एक बड़ा आधार मूल्य (4) और एक छोटा घातांक (8) होगा। आप अधिक घातांक और विभाजन का उपयोग करके ऐसा कर सकते हैं। आप घातांक को मान X से विभाजित कर सकते हैं (बशर्ते कि X घातांक का एक मुख्य विभाजक है), और आधार मान ( B ) में बनाएँ B^X
। उदाहरण के लिए, आप कर सकते हैं:
4^8 = (4 ^ 2)^(8 / 2) = 16^4
मैंने पिछले समीकरण में X को 2 से बदल दिया है।
आप 16^4
फिर से इसे और सरल बना सकते हैं X = 2
:
16^4 = (16 ^ 2)^(4 / 2) = 256^2
और फिर अंत में एक संख्या (फिर से, X = 2
) की गणना करें :
256^2 = (256 ^ 2)^(2 / 2) = 65536^1 = 65536
इसलिए,
4^8 = 16^4 = 256^2 = 65536
यह वह आउटपुट है जो आपको देना चाहिए। आउटपुट सेपरेटर थोड़ा लचीला होता है, उदाहरण के लिए, आप समीकरणों को अलग-अलग न्यूलाइन या स्पेस के बजाय अलग कर सकते हैं =
। या, आप उन्हें एक सूची में डाल सकते हैं (लेकिन आपको ^
विभाजक के रूप में एक अंक या वर्ण का उपयोग नहीं करना चाहिए )।
जैसा कि मार्टिन एंडर ने बताया, ^
यह भी लचीला है। उदाहरण के लिए, आप आउटपुट में [A, B]
या A**B
इसके बजाय उपयोग कर सकते हैं A^B
।
X केवल प्रधान हो सकता है, जिसका अर्थ है कि आप X = 8
समाधान के लिए सीधे प्राप्त करने के लिए उपयोग नहीं कर सकते हैं, और X के मान केवल दूसरे इनपुट (घातांक) के प्रमुख कारक होंगे।
उदाहरण:
(input) -> (output)
4^8 -> 4^8=16^4=256^2=65536
5^11 -> 5^11=48828125
2^15 -> 2^15=32^3=32768 (2^15=8^5=32768 is also a valid output)
ध्यान रखें कि इनपुट प्रारूप भी लचीला है (जैसे आप ले सकते हैं A \n B
या A B
इसके बजाय A^B
। जाहिर है, यह एक समस्या नहीं होगी यदि आप दो तर्कों को लेते हुए एक फ़ंक्शन लिखते हैं।
दूसरे उदाहरण में, हम गणना करने के लिए सीधे जाते हैं, चूंकि 11
प्रधान है और हम कोई और कदम नहीं उठा सकते हैं।
आप इसे हल करने के लिए एक प्रोग्राम या फ़ंक्शन लिख सकते हैं, और आप क्रमशः मूल्य को प्रिंट या वापस कर सकते हैं।
जैसा कि यह कोड-गोल्फ है , वह सबसे छोटा कोड जीतता है!
x^1
?
32^3
और8^15
512 भी नहीं हैं।