Как узнать к какому члену арифметической прогрессии принадлежит число?

Допустим, есть некоторое число окружностей. На каждой следующей окружности лежит на d (шаг) элементов больше, чем на предыдущей. sample У каждого элемента не зависимо от его местоположения есть свой INDEX, который начинается с нуля.

Как зная только INDEX и шаг D узнать на каком круге расположен элемент?

Пример f(INDEX), при D = 6:

INDEX 0 - 5 -> круг 1

INDEX 6 - 17 -> круг 2

INDEX 18 - 35 -> круг 3

НЕ ПРАВИЛЬНО: Целочисленное деление на d + 1

Очень не желательно пользоваться циклами и ветвлениями. Ответ можно просто формулами или на любом языке программирования.


Ответы (1 шт):

Автор решения: hahahsecret

Решение с другой платформы, если кому-то нужно будет.

N - Номер круга INDEX - номер элемента с нуля D - Шаг

N = floor( 1/2 * (sqrt(8 * INDEX / D + 1) + 1) )

→ Ссылка