Lua, 77 75 65 bajtów
x,v=z.rep,io.read()for a=1,v do print(x(0,a-1)..'1'..x(0,v-a))end
Cóż, nie jestem pewien, czy lua jest najlepszym językiem do tego z konkatenacją dwóch okresów ... Ale hej, jest na to szansa. Zobaczę, czy należy wprowadzić jakieś ulepszenia.
EDYTOWAĆ:
Odkryłem coś przypadkowego, co wydaje mi się dość dziwne, ale działa.
W Lua wszyscy wiedzą, że masz możliwość przypisywania funkcji do zmiennych. Jest to jedna z bardziej przydatnych funkcji CodeGolf.
Oznacza to zamiast:
string.sub("50", 1, 1) -- = 5
string.sub("50", 2, 2) -- = 0
string.sub("40", 1, 1) -- = 4
string.sub("40", 2, 2) -- = 0
Możesz to zrobić:
s = string.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
Ale czekaj, Lua pozwala na pewną ilość OOP. Więc potencjalnie możesz nawet zrobić:
z=""
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
To też zadziała i tnie postacie.
Teraz nadchodzi dziwna część. W żadnym momencie nie musisz nawet przypisywać łańcucha. Po prostu robiąc:
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
Będzie działać.
Aby wizualnie zobaczyć różnicę, spójrz na to:
Używanie string.sub (88 znaków)
string.sub("50", 1, 1)string.sub("50", 2, 2)string.sub("40", 1, 1)string.sub("40", 2, 2)
Przypisywanie string.sub do zmiennej (65 znaków)
s=string.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
Przypisywanie string.sub przy użyciu metody OOP (64 znaki)
z=""s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
Przypisywanie string.sub przy użyciu podejścia .. zero? (60 znaków)
s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
Jeśli ktoś wie, dlaczego to działa, byłbym zainteresowany.