Đây là Braid của Pascal:
1 4 15 56 209 780 2911 10864 40545 151316 564719
1 3 11 41 153 571 2131 7953 29681 110771 413403 1542841
1 4 15 56 209 780 2911 10864 40545 151316 564719
Tôi hoàn toàn làm điều đó lên. Blaise Pascal không có bím tóc như tôi có thể nói, và nếu anh ta làm thì có lẽ nó được làm từ tóc thay vì số.
Nó được định nghĩa như thế này:
- Cột đầu tiên có một
1
ở giữa. - Cột thứ hai có một
1
ở trên cùng và ở dưới cùng. - Bây giờ chúng tôi xen kẽ giữa việc đặt một số ở giữa hoặc hai bản sao của một số ở trên cùng và dưới cùng.
- Nếu số đi trên đỉnh hoặc dưới cùng, nó sẽ là tổng của hai số liền kề (ví dụ
56 = 15 + 41
). Nếu bạn nghiêng đầu một chút, đây giống như một bước trong tam giác của Pascal. - Nếu số đi ở giữa, nó sẽ là tổng của cả ba số liền kề (ví dụ
41 = 15 + 11 + 15
).
Nhiệm vụ của bạn sẽ là in (một phần của) bím tóc này.
Đầu vào
Bạn nên viết một chương trình hoặc hàm, nhận một số nguyên duy nhất n
, đưa ra chỉ mục của cột cuối cùng là đầu ra.
Bạn có thể chọn xem cột đầu tiên (chỉ in một 1
dòng trên dòng giữa) có tương ứng với n = 0
hoặc n = 1
. Điều này phải là một sự lựa chọn phù hợp trên tất cả các đầu vào có thể.
Đầu ra
Braid đầu ra Pascal lên đến n
cột thứ. Khoảng trắng phải khớp chính xác với bố cục ví dụ ở trên, ngoại trừ việc bạn có thể đệm (các) dòng ngắn hơn với độ dài của (các) dòng dài hơn với khoảng trắng và bạn có thể tùy ý xuất một nguồn cấp dữ liệu theo dõi đơn.
Nói cách khác, mỗi cột phải chính xác bằng số (hoặc cặp số bằng nhau) trong cột đó, các số trong các cột liên tiếp không được trùng nhau và không có khoảng cách giữa các cột.
Bạn có thể in kết quả sang STDOUT (hoặc thay thế gần nhất) hoặc nếu bạn viết hàm, bạn có thể trả về một chuỗi có cùng nội dung hoặc danh sách ba chuỗi (một chuỗi cho mỗi dòng).
Biết thêm chi tiết
Bạn có thể cho rằng n
sẽ không nhỏ hơn chỉ mục của cột đầu tiên (vì vậy không ít hơn 0
hoặc 1
tùy thuộc vào chỉ mục của bạn). Bạn cũng có thể giả sử rằng số cuối cùng trong bím tóc nhỏ hơn 256 hoặc số lớn nhất được biểu thị theo loại số nguyên gốc của ngôn ngữ của bạn, tùy theo số nào lớn hơn . Vì vậy, nếu loại số nguyên riêng của bạn chỉ có thể lưu trữ byte, bạn có thể giả sử rằng loại lớn nhất n
là 9
hoặc 10
(tùy thuộc vào việc bạn sử dụng 0 hoặc 1 dựa trên n
) và nếu nó có thể lưu trữ số nguyên 32 bit đã ký, n
sẽ nhiều nhất 33
hoặc 34
.
Luật golf tiêu chuẩn được áp dụng. Mã ngắn nhất sẽ thắng.
OEIS
Dưới đây là một vài liên kết OEIS có liên quan. Tất nhiên, những thứ này chứa các spoilers cho các cách khác nhau để tạo ra các số trong bím tóc:
- Trên / dưới: A001353 hoặc A010905 hoặc A106707 hoặc A195503
- Giữa: A001835 hoặc A079935
- Cả hai: A002530
Các trường hợp thử nghiệm
Những trường hợp thử nghiệm sử dụng lập chỉ mục 1 cơ sở. Mỗi trường hợp thử nghiệm là bốn dòng, đầu tiên là đầu vào và ba dòng còn lại là đầu ra.
1
1
---
2
1
1
1
---
3
1
1 3
1
---
5
1 4
1 3 11
1 4
---
10
1 4 15 56 209
1 3 11 41 153
1 4 15 56 209
---
15
1 4 15 56 209 780 2911
1 3 11 41 153 571 2131 7953
1 4 15 56 209 780 2911
---
24
1 4 15 56 209 780 2911 10864 40545 151316 564719 2107560
1 3 11 41 153 571 2131 7953 29681 110771 413403 1542841
1 4 15 56 209 780 2911 10864 40545 151316 564719 2107560