Étant donné un tableau entier d'au moins deux éléments, affichez le vecteur matrice (défini ci-dessous) du tableau.
Pour calculer le vecteur matriciel , faites d'abord pivoter le n
tableau d'entrée de taille pour créer une matrice de taille n x n
, le premier élément du tableau suivant la diagonale principale. Cela forme la partie matrice. Pour le vecteur, retournez le tableau d'entrée verticalement. Effectuez ensuite une multiplication matricielle normale. Le vecteur de sortie est le résultat.
Par exemple,
a = [1, 2, 3]
En premier lieu , faire tourner la matrice deux fois vers la droite, pour obtenir [3, 1, 2]
et [2, 3, 1]
, ensuite les empiler pour former une 3x3
matrice
[[1, 2, 3]
[3, 1, 2]
[2, 3, 1]]
Ensuite, retournez le tableau verticalement pour former le vecteur
[[1, 2, 3] [[1]
[3, 1, 2] x [2]
[2, 3, 1]] [3]]
Effectuer la multiplication matricielle habituelle
[[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]]
Et la sortie est [14, 11, 11]
ou [[14], [11], [11]]
(votre choix d'aplatir ou non).
Exemple # 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]
Règles
- L'entrée et la sortie peuvent être supposées correspondre au type d'entier natif de votre langue.
- L'entrée et la sortie peuvent être données dans n'importe quel format pratique .
- Un programme complet ou une fonction sont acceptables. S'il s'agit d'une fonction, vous pouvez renvoyer la sortie plutôt que de l'imprimer.
- Si possible, veuillez inclure un lien vers un environnement de test en ligne afin que d'autres personnes puissent essayer votre code!
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.
(v*2)[i+j]
belle astuce