本題要求將n*n個自然數按蛇型方式存放在二位數組A[n][n]中蛇型方式即是按副對角線平行的各對角線從左下到右上再從右上到左下存放n個整數對角線共n條在副對角線上方的對角線題目中用k表示第k條對角線(最左上角k=)數組元素x和y方向坐標之和為k+(即題目中的i+j=k+)副對角線下方第k條對角線與第nk條對角線對稱其元素的下標等於其對稱元素的相應坐標各加(kn)
()k<=*n //共填*n條對角線
()q=*nk //副對角線以下的各條對角線上的元素數
()k%!= //k為偶數時從右上到左下否則從左下向右上填數(本處計算下標i和j)
()k>=n //修改副對角線下方的下標i和j
()m++或m=m+ //為填下個數作准備m變化范圍n*n
本題解法的另一種思路見本章算法設計題第題
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/sjjg/201311/23066.html