एक अर्ध-घातीय फ़ंक्शन वह है, जो स्वयं के साथ रचना करने पर एक घातीय फ़ंक्शन देता है। उदाहरण के लिए, यदि f(f(x)) = 2^x
, तो f
एक आधा घातीय कार्य होगा। इस चुनौती में, आप एक विशिष्ट अर्ध-घातीय फ़ंक्शन की गणना करेंगे।
विशेष रूप से, आप निम्न गुणों वाले गैर-ऋणात्मक पूर्णांकों से गैर-नकारात्मक पूर्णांकों तक फ़ंक्शन की गणना करेंगे:
नीरस रूप से बढ़ रहा है: यदि
x < y
, तबf(x) < f(y)
कम से कम आधा घातांक: सभी के लिए
x
,f(f(x)) >= 2^x
लेक्सोग्राफिक रूप से सबसे छोटा: उपरोक्त गुणों के साथ सभी कार्यों के बीच, जो कम से कम
f(0)
होता है उसे आउटपुट देता है , जो कि पसंद को कम करता हैf(1)
, फिरf(2)
, और इसी तरह।
इनपुट के लिए इस फ़ंक्शन के प्रारंभिक मूल्य 0, 1, 2, ...
हैं:
[1, 2, 3, 4, 8, 9, 10, 11, 16, 32, 64, 128, 129, 130, 131, 132, 256, 257, ...]
आप इस फ़ंक्शन को निम्न विधियों में से किसी एक फ़ंक्शन के रूप में या पूर्ण प्रोग्राम के रूप में आउटपुट कर सकते हैं:
x
इनपुट, आउटपुट के रूप में लेंf(x)
।x
इनपुट के रूप में लें , का पहलाx
मान आउटपुट करेंf
।असीम रूप से सभी का उत्पादन
f
।
यदि आप लेना x
और उत्पादन करना चाहते हैं f(x)
, x
तो शून्य अनुक्रमित होना चाहिए।
यह कोड गोल्फ है - बाइट्स जीत में सबसे छोटा कोड। मानक खामियों पर हमेशा की तरह प्रतिबंध लगा दिया जाता है।