Perl, 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
ที่ทำให้เกิดขยะมากกว่าที่เราต้องการ
Perl, 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
ฉันยังไม่มั่นใจว่าฉันไม่สามารถรวมการทับศัพท์และทดแทนเข้ากับการใช้งานที่สั้นลงได้ หากฉันพบหนึ่งฉันจะโพสต์