CJam ( 100 98 91 89 83 बाइट्स)
1a{_[XX]*\_{_0a*}:E~\{E\_{ff*W%{0@+.+}*}:C~.+2f/}:D~.+C.+3f/1\+}q~:I*DE1$D.-X\+.+I=
स्टड से इनपुट लेता है, स्टडआउट के आउटपुट। ध्यान दें कि यह लाइसेंस का शोषण करता है और इनपुट को न संभालने 0
के लिए दो बाइट को बचाने के लिए C
और की परिभाषाओं को सम्मिलित करके D
। ऑनलाइन डेमो
नायब यह बहुत धीमा और स्मृति-अक्षम है। सरणियों को ट्रिम करने से बहुत तेज़ संस्करण प्राप्त होता है (3 बाइट्स अधिक)। ऑनलाइन डेमो ।
विच्छेदन
एक 000598 ( x )एक 000678 ( x )एक 000599 ( x )एक 000602 ( x )====1 + एक्स जेड(S)3; एक 000598 ( x ) )एक्स जेड(S)4; एक 000598 ( x ) )जेड( S)2; एक 000598 ( x ) - 1 )ए 000678 ( x ) - ए 000599 ( x ) + ए 000598 ( x)2)
जेड( S)n;च( x ) )एसnच( x )
मैंने इसे थोड़ा गोल्फ खिलाड़ी अपघटन में हेरफेर किया, और फिर मध्यवर्ती दृश्यों को देखा और पता चला कि वे OEJ में भी हैं:
एक 000642 ( x )एक 000631 ( x )एक 000602 ( x )===जेड( S)2, एक 000598 ( x ) )जेड( S)2, एक 000,642 ( एक्स ) )A 000642 ( x ) + x A 000642 ( x)2) - x ए ०००६३१ ( x )
पहले के संस्करणों C
ने इस उत्तर से ब्लॉक (दो बहुपद को हल करें ) का पुन: उपयोग किया । मुझे एक बहुत छोटा मिला है, लेकिन मैं उस जवाब को अपडेट नहीं कर सकता क्योंकि यह एक चेनिंग प्रश्न से है।
1a e# Starting from [1]...
{ e# Loop I times (see below) to build A000598 by f -> 1 + Z(S_3; f)
_[XX]* e# Copy and double-inflate to f(x^3)
\_ e# Flip and copy: stack is f(x^3) f(x) f(x)
{_0a*}:E~ e# Assign copy-and-inflate to E and execute
e# Stack: f(x^3) f(x) f(x) f(x^2)
\ e# Flip
{ e# Define and execute block D, which applies f -> Z(S_2;f)
e# Stack: ... f
E\_ e# Stack: ... f(x^2) f(x) f(x)
{ e# Define and execute block C, which convolves two sequences
ff* e# Multiply copies of the second sequence by each term of the first
W% e# Reverse
{ e# Fold
0@+.+ e# Prepend a 0 to the first and pointwise sum
}*
}:C~ e# Stack: ... f(x^2) f(x)^2
.+2f/ e# Pointwise average
}:D~ e# Stack: f(x^3) f(x) f(x^2) Z(S_2;f(x))
.+C e# Stack: f(x^3) f(x)*(f(x^2) + Z(S_2;f(x)))
.+3f/ e# Add and divide by 3 to finish computing Z(S_3; f)
1\+ e# Prepend a 1
}
q~:I e# Read input to I
* e# Loop that many times
e# Stack: I+1 terms of A000598 followed by junk
D e# Stack: I+1 terms of A000642 followed by junk
E1$D e# Stack: A000642 A000642(x^2) A000631
.-X\+.+ e# Stack: A000602
I= e# Extract term I