Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Разбить диапазон чисел по разрядам
 
Всем добрый день!
Поискав на форуме не нашел ничего про преобразование диапазона чисел в регулярные выражения.
Если у кого-то есть - буду благодарен.
Ну а пока, решил сделать его сам.
В процессе наткнулся на задачку, к которой не могу найти подход.
Нужно разбить диапазон чисел по разрядам:
Единицы должны переходить в десятки, десятки в сотни. Потом в обратную сторону до конечного значения. Итак:

Например есть диапазон: 778 - 877 (99 значений)
Необходимо его разбить следующим образом:

778-779 (2 значения) - диапазон до изменения второго разряда (десятки) (меняется с 7 на 8, так как единица обнуляется после значения 9. следующее число будет уже 780)

780-799 (19 значений) - диапазон до изменения первого разряда (после 799 идет 800: первый разряд переходит с 7 на 8 )

Так, как нам не нужен диапазон 9хх (у нас край диапазона - 877 см. условие), то идем в обратную сторону:

800-869 - (69 значений) - диапазон до изменения второго разряда (десятки) (после 869 идет 870)
870-877 - (7 значений) - диапазон до конца.

Вот такая интересная нетривиальная задачка.
На входе - диапазон значений ( в одной ячейке ОТ в другой ДО), на выходе - 4 диапазона в ячейках
В идеале - инструмент должен быть универсальный - диапазоны могут быть четырехзначные, пятизначные и т.п

Я начал диапазоны в массивы заносить, потом пытался сравнивать..в итоге запутался окончательно! )
Может есть какая-то готовая математическая функция? Может похожая? я сам адаптирую ее

Если есть любители поломать голову - буду благодарен  :)
Изменено: mant - 06.09.2016 12:44:05
Страницы: 1
Наверх