Я думаю, что это должно быть просто, но я не могу понять это правильно.
У меня есть треугольная матрица MxM, коэффициенты которой хранятся в векторе, строка за строкой. Например:
M = [ m00 m01 m02 m03 ]
[ m11 m12 m12 ]
[ m22 m23 ]
[ m33 ]
хранится как
coef[ m00 m01 m02 m03 m11 m12 m13 m22 m23 m33 ]
Теперь я ищу нерекурсивный алгоритм, который дает мне размер матрицы M
и индекс массива коэффициентов i
unsigned int row_index(i,M)
и
unsigned int column_index(i,M)
элемента матрицы, на который он ссылается. Так,
row_index(9,4) == 3
, column_index(7,4) == 2
и т.д., если подсчет индекса основан на нуле.
EDIT: несколько ответов с использованием итерации. Кто-нибудь знает об алгебраических выражениях?