पर्ल, 45 +1 = 46 बाइट्स
+1 बाइट -n फ़्लैग के लिए
$a=a,$b=b;say($a),($a,$b)=($b,$a.$b)for 1..$_
मौजूदा 49-बाइट समाधान पर थोड़ा सुधार, लेकिन अलग से विकसित। के लिए कोष्ठक say($a)
आवश्यक हैं क्योंकि, अन्यथा, यह $a,($a,$b)=($b,$a.$b)
तर्क के रूप में व्याख्या करता है कि say
हम जरूरत से ज्यादा कबाड़ का उत्पादन करते हैं।
पर्ल, 42 बाइट्स
$b=<>;$_=a;say,y/ab/bc/,s/c/ab/g while$b--
उपरोक्त समाधान से एक अलग दृष्टिकोण:
$b=<>; #Read the input into $b
$_=a; #Create the initial string 'a' stored in $_
say #Print $_ on a new line
y/ab/bc/ #Perform a transliteration on $_ as follows:
#Replace 'a' with 'b' and 'b' with 'c' everywhere in $_
s/c/ab/g #Perform a replacement on $_ as follows:
#Replace 'c' with 'ab' everywhere in $_
, , while$b-- #Perform the operations separated by commas
#iteratively as long as $b-- remains truthy
मैं अभी तक आश्वस्त नहीं हूं कि मैं लिप्यंतरण और प्रतिस्थापन को एक एकल, छोटे ऑपरेशन में जोड़ नहीं सकता। अगर मुझे एक मिलता है, तो मैं इसे पोस्ट करूंगा।