4Å1λ£₁λ¨Â¦¦s¦¦*O+
Không ngắn hơn câu trả lời 05AB1E hiện có , nhưng tôi muốn thử chức năng đệ quy của phiên bản 05AB1E mới để thực hành cho chính mình. Có lẽ có thể bị đánh gôn bởi một vài byte. EDIT: Và nó thực sự có thể, vui lòng xem phiên bản đệ quy của @Grimy 's 05AB1E câu trả lời dưới đây, đó là 13 byte .
n
n£
è
£
Giải trình:
một ( n ) = một ( n - 1 ) + Σn - 1k = 2( a ( k ) ⋅ a ( n - 1 - k ) )
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)
Phiên bản 13 byte của @Grimy (đảm bảo nâng cao câu trả lời của anh ấy nếu bạn chưa có!):
1λ£λ1šÂ¨¨¨øPO
n
1λèλ1šÂ¨¨¨øPO
λλ1šÂ¨¨¨øPO
a ( 0 ) = 1
Giải trình:
một ( n ) = Σn - 1k = 2( a ( k ) ⋅ a ( n - 2 - k ) )
a ( - 1 ) = a ( 0 ) = a ( 1 ) = a ( 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)
thànha(n-k)
, đúng không?