Re[2]: 3/4 vs 0.75
От: rg45 СССР  
Дата: 01.07.21 08:05
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>

0 1 2 3
0 0 1 3 6
1 2 4 7
2 5 8
3 9
S>Тут n[x, y] = (x+y)*(x+y+1)/2+y


Немного не так. В данном случае известно, что x < y, y >= 1 (по семантике y — это размер массива, а x — zero-based индекс элемента в массиве). Поэтому треугольник лучше сделать таким:

x — по горизонтали, y — по вертикали
0 1 2 3
1 0
2 1 2
3 3 4 5
4 6 7 8 9
И формула попроще:

n[x, y] = x + y*(y-1)/2;

Обратное преобразование мне выводить тоже лень
(И да, придется иметь дело с квадратным корнем и округлениями).
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 01.07.2021 10:33 rg45 . Предыдущая версия . Еще …
Отредактировано 01.07.2021 8:32 rg45 . Предыдущая версия .
Отредактировано 01.07.2021 8:31 rg45 . Предыдущая версия .
Отредактировано 01.07.2021 8:27 rg45 . Предыдущая версия .
Отредактировано 01.07.2021 8:15 rg45 . Предыдущая версия .
Отредактировано 01.07.2021 8:11 rg45 . Предыдущая версия .
Отредактировано 01.07.2021 8:10 rg45 . Предыдущая версия .
Отредактировано 01.07.2021 8:08 rg45 . Предыдущая версия .
Отредактировано 01.07.2021 8:06 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.