4Å1λ£₁λ¨Â¦¦s¦¦*O+
मौजूदा 05AB1E उत्तर से कम नहीं है , लेकिन मैं अपने लिए नए 05AB1E संस्करण की पुनरावर्ती कार्यक्षमता को अभ्यास के रूप में आज़माना चाहता था। शायद कुछ बाइट्स से गोल्फ हो सकता है। संपादित करें: और यह वास्तव में, की पुनरावर्ती संस्करण देख सकते हैं @Grimy नीचे की 05AB1E जवाब है, जो 13 बाइट्स ।
पहले आउटपुट देता है nआइटम: इसे ऑनलाइन आज़माएं ।
0-आधारित में परिवर्तित किया जा सकता है nके £
साथ प्रतिस्थापित करते समय 'आइटम è
: इसे ऑनलाइन आज़माएँ ;
या हटाने के द्वारा एक अनंत सूची £
: इसे ऑनलाइन आज़माएं ।
स्पष्टीकरण:
यह चुनौती के विवरण में प्रयुक्त सूत्र को इस तरह लागू करता है:
एक ( एन ) = एक ( n - 1 ) + Σएन - 1के = २( एक ( कश्मीर ) ⋅ एक ( n - 1 - कश्मीर ) )
a ( 0 ) = a ( 1 ) = a ( 2 ) = a ( 3 ) = 1
λ # Create a recursive environment,
£ # to output the first (implicit) input amount of results after we're done
4Å1 # Start this recursive list with [1,1,1,1], thus a(0)=a(1)=a(2)=a(3)=1
# Within the recursive environment, do the following:
λ # Push the list of values in the range [a(0),a(n)]
¨ # Remove the last one to make the range [a(0),a(n-1)]
 # Bifurcate this list (short for Duplicate & Reverse copy)
¦¦ # Remove the first two items of the reversed list,
# so we'll have a list with the values in the range [a(n-3),a(0)]
s # Swap to get the [a(0),a(n-1)] list again
¦¦ # Remove the first two items of this list as well,
# so we'll have a list with the values in the range [a(2),a(n-1)]
* # Multiply the values at the same indices in both lists,
# so we'll have a list with the values [a(n-3)*a(2),...,a(0)*a(n-1)]
O # Take the sum of this list
₁ + # And add it to the a(n-1)'th value
# (afterwards the resulting list is output implicitly)
@Grimy के 13 बाइट्स संस्करण ( यदि आपने अभी तक नहीं किया है तो उसके उत्तर को सुनिश्चित करें !)
1λ£λ1šÂ¨¨¨øPO
पहले आउटपुट देता है nआइटम: इसे ऑनलाइन आज़माएं।
इसके बजाय फिर से 0-आधारित अनुक्रमण या एक अनंत सूची में बदला जा सकता है:
- (0-आधारित) अनुक्रमण 1λèλ1šÂ¨¨¨øPO
: इसे ऑनलाइन आज़माएं ;
- अनंत सूची λλ1šÂ¨¨¨øPO
: ऑनलाइन प्रयास करें । (ध्यान दें कि 1 के बजाय 2 बाइट्स यहां सहेजे गए हैं, क्योंकि पुनरावर्ती वातावरण से शुरू होता हैa ( 0 ) = 1 डिफ़ॉल्ट रूप से।)
स्पष्टीकरण:
इसके बजाय वह अपने अजगर के जवाब के लिए @xnor द्वारा पाए गए फॉर्मूले को इस तरह से लागू करता है :
a ( n ) = ∑एन - 1के = २( एक ( कश्मीर ) ⋅ एक ( n - 2 - कश्मीर ) )
एक ( - 1 ) = एक ( 0 ) = एक ( 1 ) = एक ( 2 ) = 1
λ # Create a recursive environment,
£ # to output the first (implicit) input amount of results after we're done
1 # Start this recursive list with 1, thus a(0)=1
# Within the recursive environment, do the following:
λ # Push the list of values in the range [a(0),a(n)]
1š # Prepend 1 in front of this list
 # Bifurcate the list (short for Duplicate & Reverse copy)
¨¨¨ # Remove (up to) the last three value in this reversed list
ø # Create pairs with the list we bifurcated earlier
# (which will automatically remove any trailing items of the longer list)
P # Get the product of each pair (which will result in 1 for an empty list)
O # And sum the entire list
# (afterwards the resulting list is output implicitly)
a(n-1-k)
कोa(n-k)
सही में बदलना है ?