Эта задача очень проста. Вам дают в качестве входных данных квадратную матрицу, представленную любым разумным способом, и вы должны вывести скалярное произведение диагоналей матрицы.
В частности, диагонали - это диагональ, идущая сверху слева и снизу справа и сверху справа внизу слева.
Тестовые случаи
[[-1, 1], [-2, 1]] -> -3
[[824, -65], [-814, -741]] -> 549614
[[-1, -8, 4], [4, 0, -5], [-3, 5, 2]] -> -10
[[0, -1, 0], [1, 0, 2], [1, 0, 1]] -> 1
code-golf
math
matrix
linear-algebra
Maltysen
источник
источник
[:+/(<0 1)|:(*|."1)
составляет 19 байтовЮлия, 25 байт
Попробуйте онлайн!
источник
rot90
, хорошая идея!JavaScript (ES6), 45 байт
источник
R, 26 байт
источник
Mathematica, 17 байт
источник
APL (Dyalog) ,
159 байтовПопробуйте онлайн!
Как?
+/
- сумма1 1⍉
- диагональ⌽×⊢
- поэлементное умножение матрицы с ее обратнойисточник
Clojure, 57 байт
источник
Haskell ,
8048 байтовМне больше понравилось моё предыдущее решение, но оно намного короче (в основном то же самое, что и решение Python):
Попробуйте онлайн!
источник
J, 18 байт
Explaination:
источник
05AB1E , 5 байтов
Попробуйте онлайн или проверьте все контрольные примеры .
Объяснение:
источник