有N×N个数据组成如下方阵:(7%)
A11 A12 A13 …… A1N
A21 A22 A23 …… A2N
A31 A32 A33 …… A3N
…………
AN1 AN2 AN3 …… ANN
并已知: Aij = Aji
现将A11 ,A21,A22 ,A31 ,A32 ,A33 …存储在一维数组A[1],A[2],…A[(N*(N+1))/2] 中。
试问:任给i,j怎样求出K来,使得A[K]的值正好是Aij,请写出由i,j计算K值的表达式。
答案:IF I>=J THEN K=(I*(I-1))/2+J ELSE K=(J*(J-1))/2+I
|