Đôi khi, khi tôi thực sự chán ( thực sự chán), tôi thích vẽ một đoạn thẳng và vẽ điểm trên đó.
Đầu tiên, tôi vẽ một đoạn đường có kích thước nhất định, đó là 2 ^ N cho một số giá trị của N. Dòng sẽ được biểu thị bằng một loạt các .ký tự.
................
Sau đó, tôi vẽ một điểm ở cuối bên trái. Điểm sẽ được đại diện bởi các Xnhân vật.
X...............
Sau đó, tôi theo một mô hình. Bắt đầu từ điểm được vẽ gần đây nhất (mà tôi sẽ gọi là A), tôi tiến tới điểm được vẽ tiếp theo (B) trên dòng (bao quanh là cần thiết). Sau đó, tôi tiến tới điểm được vẽ tiếp theo trên dòng (C). Sau đó, tôi vẽ một điểm mới nửa chừng ở giữa điểm thứ ba này (C) và điểm tiếp theo đã được vẽ (D).
Bất cứ khi nào bạn quấn quanh dòng, "giữa" được xác định theo cách gói. Điểm mới được vẽ luôn nằm ở bên phải của C.
Hãy nói rằng dòng sau đây là dòng hiện tại của tôi. Đây là cách tôi sẽ vẽ hai điểm tiếp theo. Trong ví dụ này, tôi sẽ dán nhãn cho mỗi điểm quan trọng bằng một chữ cái.
X...A...X.X...X.
^
X...A...B.X...X.
^
X...A...B.C...X.
^
X...A...B.C...D.
^
X...X...X.X.A.X.
^
X...X...X.X.A.B.
^
C...X...X.X.A.B.
^
C...D...X.X.A.B.
^
X.A.X...X.X.X.X.
^
Quay trở lại ví dụ trước, điểm tiếp theo sẽ được vẽ ở giữa dòng.
X.......X.......
Đây có lẽ là một chút của một trường hợp đặc biệt: tiến tới điểm tiếp theo chỉ đơn giản là để bạn ở nơi bạn bắt đầu. Điểm giữa chừng hữu ích duy nhất là điểm nửa "chu kỳ" (điểm giữa đường trên đường), trái ngược với âm mưu một điểm trên chính nó.
Dưới đây là một loạt các điểm mà tôi sẽ vẽ trên dòng từ đây đến cuối.
X.......X.......
X.......X...X...
X.......X.X.X...
X...X...X.X.X...
X...X...X.XXX...
X.X.X...X.XXX...
X.X.X...XXXXX...
Không còn chỗ nào để vẽ điểm tiếp theo, vì nó sẽ phải được đặt giữa hai điểm liền kề, vì vậy tôi đã đạt được độ sâu tối đa cho giá trị đã cho là N = 4. Dòng cuối cùng trong danh sách trên là "hoàn thành . "
Các thách thức
Mục tiêu là viết chương trình / hàm được đặt tên ngắn nhất sẽ in / trả về dòng đã hoàn thành với giá trị đã cho là N. Trên đây cho thấy N = 4.
Đầu vào
Đầu vào sẽ là một số nguyên không âm duy nhất N. Độ dài của dòng được tạo sau đó sẽ là 2 ^ N.
Đầu ra
Đầu ra sẽ là dòng hoàn thành có độ dài 2 ^ N, được hình thành bởi .và các Xký tự. Một dòng mới không quan trọng.
Ví dụ I / O
0
X
1
XX
2
X.XX
3
X.X.XXX.
4
X.X.X...XXXXX...
5
X.X.X...X...X...X.XXX.XXX.......
(c%b+b)%b? Bạn đang mong đợiclà tiêu cực?