P.S
Использовал два варианта. Один из них это если поделить количество цен на amount тем самым определим шаг для диапазона. Но вариант не подошел, не всегда может правильно группировать.
Что значит разбить "логически"? Логически может быть на равные куски, либо чтобы разница в каждом куске между максимальным и минимальный была не очень большая, либо ещё как угодно, конкретизируй вопрос, и желательно дать вариант входных и выходных данных