Для целого числа n ≥ 1 выведите двумерное представление † знака процента ширины n . Конструкция идет следующим образом:
- Создание п по п матрицу (или список списков), заполненную нулями.
- Вставьте те в верхнем левом и нижнем правом углах.
- Поместите их по диагонали от нижнего левого до правого верхнего.
Для ввода n = 4 эта конструкция будет выглядеть так:
1. 4x4 matrix of 0s
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
2. 1s in TL and BR corners
1 0 0 0
0 0 0 0
0 0 0 0
0 0 0 1
3. 1s across BL-TR diagonal
1 0 0 1
0 0 1 0
0 1 0 0
1 0 0 1
Это код-гольф , поэтому выигрывает самая короткая программа в байтах.
† Я использую матрицу из 1 и 0, но также допустимо использовать строку любого непробельного символа и пробелов. Итак, приведенный выше пример может выглядеть так:
# #
#
#
# #
или
# #
#
#
# #
Контрольные примеры
n
output
1
1
2
1 1
1 1
3
1 0 1
0 1 0
1 0 1
4
1 0 0 1
0 0 1 0
0 1 0 0
1 0 0 1
10
1 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 1
Конечная нота
Добавление объяснения будет принята с благодарностью.
'1'+'0'*(n-2)
со вставленным пробелом