Здравствуйте, Sinclair, Вы писали:
S>
S>Тут n[x, y] = (x+y)*(x+y+1)/2+y
Немного не так. В данном случае известно, что x < y, y >= 1 (по семантике y — это размер массива, а x — zero-based индекс элемента в массиве). Поэтому треугольник лучше сделать таким:
x — по горизонтали, y — по вертикали
И формула попроще:
n[x, y] = x + y*(y-1)/2;
Обратное преобразование мне выводить тоже лень

(И да, придется иметь дело с квадратным корнем и округлениями).