Lốc xoáy ma trận cũng giống như bất kỳ cơn lốc xoáy nào khác: nó bao gồm những thứ xoay quanh một trung tâm. Trong trường hợp này, các yếu tố của ma trận thay vì không khí.
Dưới đây là một ví dụ về cơn lốc xoáy ma trận:
Đầu tiên chúng ta bắt đầu bằng cách chia ma trận thành các vòng vuông, mỗi phần bao gồm các phần tử nằm cách xa biên giới hơn cùng một khoảng cách. Những phần này sẽ được xoay theo chiều kim đồng hồ xung quanh trung tâm. Trong các cơn lốc xoáy thực sự, mức độ nghiêm trọng tăng dần về phía trung tâm, và bước xoay trong cơn lốc xoáy ma trận cũng vậy: phần ngoài cùng (phần màu đỏ) được xoay 1 bước, phần tiếp theo (màu vàng) được xoay bởi 2, và do đó trên. Bước xoay là góc xoay 90 ° quanh tâm.
Bài tập:
Nhiệm vụ của bạn, nếu bạn chấp nhận nó, là viết một hàm hoặc chương trình lấy đầu vào là ma trận vuông, áp dụng hiệu ứng lốc xoáy cho nó và sau đó xuất ra ma trận kết quả.
Đầu vào:
Đầu vào phải là một ma trận vuông của thứ tự n
trong đó n >= 1
. Không có giả định nào được thực hiện về các yếu tố của ma trận, chúng có thể là bất cứ thứ gì.
Đầu ra:
Một ma trận vuông có cùng thứ tự sẽ là kết quả của việc áp dụng hiệu ứng tronado cho ma trận đầu vào.
Ví dụ:
Một ma trận trật tự n = 1
:
[['Hello']] ===> [['Hello']]
Một ma trận trật tự n = 2
:
[[1 , 2], ===> [[5 , 1],
[5 , 0]] [0 , 2]]
Một ma trận trật tự 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]]
;)