這個龍捲風的規律如下 :
中心 -> 走 1 步 -> 右轉 -> 走 1 步 -> 右轉
-> 走 2 步 -> 右轉 -> 走 2 步 -> 右轉
-> 走 3 步 -> 右轉 -> 走 3 步 -> 右轉
-> .........
-> 走 n-1 步 -> 右轉 -> 走 n-1 步 -> 右轉 -> 走 n-1 步
例如 n = 5 時,走的步伐是 1 1 2 2 3 3 4 4 4 ,不論從哪個方向開始都適用
如果用二個索引 i j 跑會很麻煩,所以要進行轉換
用二維陣列紀錄,先印出第一個數字 ( 中間的 ),然後跑迴圈
用一維的索引 index 來跑,往左一步是 index - 1 ,往上是 index - n ,往右是 index + 1 ,往下是 index + n
用陣列來記錄方向 direct [ 4 ] = { -1 , -n , 1 , n }, index + direct [ i ] 就是下一個數字
每走 a 步,就右轉,走兩次 a 步,右轉後 a 就加一,如上述規律
每次要印數字,只要 index / n 就是橫列, index % n 就是直行,記得每一步都要印
依上述規律,就能解決這題