Có một câu hỏi nổi tiếng ở đây yêu cầu một trình tạo chuỗi ngắn (ít ký tự nhất).
Tôi muốn biết nếu ai đó chỉ có thể tạo ra các yếu tố N đầu tiên, trong chuỗi Wikipedia, trong không gian rất ngắn. Tôi đang cố gắng làm điều đó bằng python, nhưng tôi quan tâm đến bất kỳ câu trả lời ngắn nào, bằng bất kỳ ngôn ngữ nào. Hàm F (N) tạo ra các phần tử N đầu tiên của chuỗi, trả về chúng dưới dạng trả về của hàm hoặc in chúng.
Điều thú vị là dường như các câu trả lời golf-code bắt đầu bằng 1 1 2
, thay vì 0 1 1 2
. Đó có phải là một quy ước trong golf-code hoặc lập trình nói chung? (Wikipedia cho biết chuỗi Wikipedia bắt đầu bằng không.).
Mẫu Python (5 yếu tố đầu tiên):
def f(i,j,n):
if n>0:
print i;
f(j,i+j,n-1)
f(1,1,5)
F_0 = 0, F_1 = 1
hoặc tương đương F_1 = 1, F_2 = 1
. Sự khác biệt là bạn muốn bắt đầu chuỗi ở chỉ số 0 (phổ biến hơn trong lập trình) hay 1 (phổ biến hơn trong toán học).
F_0 = 0, F_1 = 1
có một lợi ích nhất định trong sự đơn giản với biểu diễn ma trận [[1 1][1 0]]^n = [[F_{n+1} F_n][F_n F_{n-1}]]
.