Как узнать к какому члену арифметической прогрессии принадлежит число?
Допустим, есть некоторое число окружностей. На каждой следующей окружности лежит на d (шаг) элементов больше, чем на предыдущей.
У каждого элемента не зависимо от его местоположения есть свой INDEX, который начинается с нуля.
Как зная только INDEX и шаг D узнать на каком круге расположен элемент?
Пример f(INDEX), при D = 6:
INDEX 0 - 5 -> круг 1
INDEX 6 - 17 -> круг 2
INDEX 18 - 35 -> круг 3
НЕ ПРАВИЛЬНО: Целочисленное деление на d + 1
Очень не желательно пользоваться циклами и ветвлениями. Ответ можно просто формулами или на любом языке программирования.
Ответы (1 шт):
Решение с другой платформы, если кому-то нужно будет.
N - Номер круга INDEX - номер элемента с нуля D - Шаг
N = floor( 1/2 * (sqrt(8 * INDEX / D + 1) + 1) )