हम पूर्णांकों की सूची को मोड़ने जा रहे हैं। ऐसा करने की प्रक्रिया इस प्रकार है, यदि सूची समान लंबाई की है, तो उसकी आधी लंबाई की एक सूची बनाएं जहां नई सूची का nth आइटम पुरानी सूची के nth आइटम और nth-to- का योग है पुरानी सूची का अंतिम आइटम। उदाहरण के लिए यदि हमारे पास सूची थी
[1 2 3 4 5 6 7 8]
हम इसे इस तरह मोड़ेंगे
[8 7 6 5]
+[1 2 3 4]
__________
[9 9 9 9]
यदि सूची विषम लंबाई की है, तो इसे मोड़ने के लिए हम पहले मध्य वस्तु को हटाते हैं, इसे मोड़ते हैं जैसे कि यह भी था और परिणाम के लिए मध्य वस्तु को जोड़ते हैं।
उदाहरण के लिए यदि हमारे पास सूची थी
[1 2 3 4 5 6 7]
हम इसे इस तरह मोड़ेंगे
[7 6 5]
+[1 2 3]
__________
[8 8 8]
++ [4]
__________
[8 8 8 4]
कार्य
एक प्रोग्राम या फ़ंक्शन लिखें जो पूर्णांक की सूची को इनपुट के रूप में लेता है और उस सूची को आउटपुट करता है जो मुड़ा हुआ है।
यह एक कोड-गोल्फ प्रश्न है, इसलिए उत्तर बाइट्स में स्कोर किए जाएंगे, कम बाइट्स बेहतर होने के साथ।
नमूना कार्यान्वयन
यहां हास्केल में एक कार्यान्वयन है जो एक फ़ंक्शन को परिभाषित करता है fजो एक गुना प्रदर्शन करता है।
f(a:b@(_:_))=a+last b:f(init b)
f x=x