n 番目に挿入された要素を行列にその (i,j) 位置にマップできる関数を作成しようとしています。この行列を満たす方法は、次の非標準的な方法で行われていることが知られています。
(0,0)...(0,1)...(1,0)...(0,2)...(2,0)...(n,0)...(0 ,n)... (1,1)....(1,2)...(2,1)...(n,1)...(1,n) .....( n,n)
つまり、左上から開始し、対角要素を挿入した後、外側の行と列を横切って上と下の三角形に要素を交互に挿入し、すすぎ、1 行 1 列をステップで繰り返します。の。
そして、私が達成しようとしているのは関数です
std::pair<int,int> getMatrixCoordinates (int nthElement)
{
return std::pair<int,int> (row, col) ;
}