Biorąc pod uwagę tablicę liczb całkowitych składającą się z co najmniej dwóch elementów, wyślij wektor macierzy (zdefiniowany poniżej) tablicy.
Aby obliczyć wektor macierzy , najpierw obróć ntablicę wprowadzania rozmiaru n x n, aby utworzyć macierz wielkości , przy czym pierwszy element tablicy będzie podążał za główną przekątną. To tworzy część matrycy. W przypadku wektora odwróć tablicę wejściową pionowo. Następnie wykonaj normalne mnożenie macierzy. Wektor wyjściowy jest wynikiem.
Na przykład,
a = [1, 2, 3]
Po pierwsze, należy obrócić tablice dwa razy na prawo, w celu uzyskania [3, 1, 2]i [2, 3, 1], następnie stosu je, tworząc 3x3macierz
[[1, 2, 3]
[3, 1, 2]
[2, 3, 1]]
Następnie odwróć tablicę pionowo, aby utworzyć wektor
[[1, 2, 3] [[1]
[3, 1, 2] x [2]
[2, 3, 1]] [3]]
Wykonaj zwykłe mnożenie macierzy
[[1, 2, 3] [[1] [[1+4+9] [[14]
[3, 1, 2] x [2] = [3+2+6] = [11]
[2, 3, 1]] [3]] [2+6+3]] [11]]
Wyjście to [14, 11, 11]lub [[14], [11], [11]](wybór, czy ma być spłaszczony, czy nie).
Przykład nr 2
a = [2, 5, 8, 3]
[[2, 5, 8, 3] [[2] [[4+25+64+9] [[102]
[3, 2, 5, 8] x [5] = [6+10+40+24] = [80]
[8, 3, 2, 5] [8] [16+15+16+15] [62]
[5, 8, 3, 2]] [3]] [10+40+24+6]] [80]]
[102, 80, 62, 80]
Zasady
- Można założyć, że dane wejściowe i wyjściowe pasują do natywnego typu liczb całkowitych twojego języka.
- Dane wejściowe i wyjściowe można podawać w dowolnym dogodnym formacie .
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Jeśli to możliwe, dołącz link do internetowego środowiska testowego, aby inne osoby mogły wypróbować Twój kod!
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).

(v*2)[i+j]nice trick