,[.[<]<+[>>]++++[-<++++++++>],]<[<]<<<++++++++++.>>[[>]>[-<+>]>[-<+>]>>[.>>]<<[<]<<.<<[..<<]<.>>-]>[[>]>[.>>]<<[<<]>.>>[..>>]<<,<[<]<<.>>>]
Спробуйте в Інтернеті!
Здійснює введення через одинарне, з +
s як позначки ( дозволені плакатом ). Вирішив переробити це, як я вважав, що старий трохи довший, ніж міг би бути (хоча і цей теж!).
Стара версія (151 байт):
>--[>+<++++++]<[->+>.<<]++++++++[-<+<++++>>]<++>>[<<.>>-[-<+<<.>>>]<[->+<]>>>+[-<.>>+<]>+[-<+>]<<<]>>[<<<<.>>[-<+<<.>>>]<[->+<]>+>>-[-<.>>+<]>-[-<+>]<]
Спробуйте в Інтернеті!
Вводиться в якості вихідної комірки. Я не міг придумати спосіб використовувати першу половину, щоб допомогти з другою, тому для кожного з них є цикл.
Як це працює:
>--[>+<++++++] Create 43 ('+') two space to the left of n
<[->+>.<<] Print n '+'s while preserving n
++++++++[-<+<++++>>]<++ Create 32 (' ') and 10 ('\n')
Tape: 32 10 0 n 43 t
>>
[ Loop over the first half of the diamond
<<.>> Print a newline
-[-<+<<.>>>] Decrement n and print n spaces
<[->+<] Restore n
>>>+[-<.>>+<] Increment t and print t '+'s
>+[-<+>]<<< Increment t again and restore it
]>>
[ Loop over the second half
<<<<.>> Print a newline
[-<+<<.>>>]< Print n spaces
[->+<]>+ Restore and increment n
>>-[-<.>>+<] Decrement t and print t '+'s
>-[-<+>]< Decrement t again and restore it
]
І просто для розваги:
+++++++++
>
--[
>+<++
++++]<[
->+>.<<]+
+++++++[-<+
<++++>>]<++>>
[<<.>>-[-<+<<.>
>>]<[->+<]>>>+[-<
.>>+<]>+[-<+>]<<<
]>>[<<<<.>>[-<+
<<.>>>]<[->+<
]>+>>-[-<.>
>+<]>-[-<
+>]<]++
+++++
+++
+
Спробуйте в Інтернеті!
n
в одинаку?