Der Matrix-Tornado ist wie jeder andere Tornado: Er besteht aus Dingen, die sich um ein Zentrum drehen. In diesem Fall Elemente der Matrix anstelle von Luft.
Hier ist ein Beispiel für einen Matrix-Tornado:
Zunächst unterteilen wir die Matrix in quadratische Ringe, wobei jeder Abschnitt aus Elementen besteht, die um denselben Abstand vom Rand entfernt sind. Diese Abschnitte werden im Uhrzeigersinn um die Mitte gedreht. Bei echten Tornados nimmt der Schweregrad zur Mitte hin zu, ebenso wie der Rotationsschritt bei einem Matrix-Tornado: Der äußerste Abschnitt (der rote) wird um 1 Schritt gedreht, der nächste (der gelbe) um 2, und so weiter auf. Ein Rotationsschritt ist eine 90 ° -Drehung um das Zentrum.
Aufgabe:
Ihre Aufgabe ist es, eine Funktion oder ein Programm zu schreiben, das eine quadratische Matrix als Eingabe verwendet, den Tornado-Effekt darauf anzuwenden und dann die resultierende Matrix auszugeben.
Eingang:
Die Eingabe sollte eine quadratische Matrix der Reihenfolge sein, n
in der n >= 1
. Es ist keine Annahme über die Elemente der Matrix zu treffen, sie könnten alles sein.
Ausgabe:
Eine quadratische Matrix derselben Ordnung, die das Ergebnis der Anwendung des Tronado-Effekts auf die Eingangsmatrix wäre.
Beispiele:
Eine Matrix der Ordnung n = 1
:
[['Hello']] ===> [['Hello']]
Eine Matrix der Ordnung n = 2
:
[[1 , 2], ===> [[5 , 1],
[5 , 0]] [0 , 2]]
Eine Matrix der Ordnung n = 5
:
[[A , B , C , D , E], [[+ , 6 , 1 , F , A],
[F , G , H , I , J], [- , 9 , 8 , 7 , B],
[1 , 2 , 3 , 4 , 5], ===> [/ , 4 , 3 , 2 , C],
[6 , 7 , 8 , 9 , 0], [* , I , H , G , D],
[+ , - , / , * , %]] [% , 0 , 5 , J , E]]
;)