Один из возможных подходов:
- вычисление диапазона вашего интервала R = (100 - 10) + 1
- вычисление хеш-функции по модулю R входного значения H = хеш (12879)% R
- добавьте нижнюю границу к модульному хешу V = 10 + H
Здесь дело в том, что вы не определили никаких ограничений или требований к «алгоритму»это дает результат.Если все, что вам нужно, это отобразить значение в заданном диапазоне (без каких-либо знаний о распределении входных данных или о том, как входные значения могут кластеризоваться и т. Д.), Вы можете просто взять диапазон по модулю входных данных без хеширования (как демонстрирует Фу Бах).
Если существуют определенные ограничения, требования или распределения входных или выходных данных вашего encode
метода, то подход, возможно, должен быть совершенно другим.Однако вы единственный, кто знает, какие у вас дополнительные требования.