Perl, 45 +1 = 46 byte
+1 byte cho cờ -n
$a=a,$b=b;say($a),($a,$b)=($b,$a.$b)for 1..$_
Cải thiện nhẹ so với giải pháp 49 byte hiện có, nhưng được phát triển riêng. Các dấu ngoặc đơn say($a)
là cần thiết bởi vì nếu không, nó diễn giải $a,($a,$b)=($b,$a.$b)
như là đối số say
tạo ra nhiều rác hơn chúng ta cần.
Perl, 42 byte
$b=<>;$_=a;say,y/ab/bc/,s/c/ab/g while$b--
Một cách tiếp cận riêng biệt từ giải pháp trên:
$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
Tôi vẫn chưa tin rằng tôi không thể kết hợp việc chuyển ngữ và thay thế thành một thao tác ngắn hơn. Nếu tôi tìm thấy một, tôi sẽ đăng nó.