Lua, 77 75 65 byte
x,v=z.rep,io.read()for a=1,v do print(x(0,a-1)..'1'..x(0,v-a))end
Chà, tôi không chắc lua có phải là ngôn ngữ tốt nhất cho việc này với sự kết hợp hai giai đoạn không ... Nhưng này, có một phát súng vào nó. Tôi sẽ xem nếu có bất kỳ cải tiến sẽ được thực hiện.
BIÊN TẬP:
Tôi đã tìm ra một cái gì đó tình cờ mà tôi thấy khá kỳ lạ, nhưng, nó hoạt động.
Trong Lua, mọi người đều biết bạn có khả năng gán các hàm cho các biến. Đây là một trong những tính năng hữu ích của CodeGolf.
Điều này có nghĩa thay vì:
string.sub("50", 1, 1) -- = 5
string.sub("50", 2, 2) -- = 0
string.sub("40", 1, 1) -- = 4
string.sub("40", 2, 2) -- = 0
Bạn có thể làm được việc này:
s = string.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
Nhưng chờ đã, Lua cho phép một số lượng OOP. Vì vậy, bạn thậm chí có thể làm:
z=""
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
Điều đó sẽ làm việc tốt và cắt giảm nhân vật.
Bây giờ đến phần kỳ lạ. Bạn thậm chí không cần phải gán một chuỗi tại bất kỳ điểm nào. Đơn giản chỉ cần làm:
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
Sẽ làm việc.
Vì vậy, bạn có thể thấy sự khác biệt một cách trực quan, hãy xem kết quả đánh gôn của điều này:
Sử dụng chuỗi.sub (88 ký tự)
string.sub("50", 1, 1)string.sub("50", 2, 2)string.sub("40", 1, 1)string.sub("40", 2, 2)
Gán chuỗi.sub cho một biến (65 ký tự)
s=string.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
Chỉ định chuỗi.sub bằng cách sử dụng phương pháp OOP (64 ký tự)
z=""s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
Chỉ định chuỗi.sub bằng cách sử dụng phương pháp .. không? (60 ký tự)
s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
Nếu ai đó biết tại sao điều này hoạt động, tôi sẽ quan tâm.