math - функция отображения набора целых чисел - PullRequest
0 голосов
/ 17 июня 2011

Мне нужна функция, которая отображает любые m целых чисел между a и b (где ba> m) в целые числа от 0 до m-1.M целых чисел между a и b может , а не быть в любом порядке.Отображение может быть в любом порядке, если это сопоставление один к одному.

Например, у меня есть набор целых чисел от 10 до 50, и я выбираю любые 10 целых чисел случайным образом и отображаю их в 0-9.Функция может принимать один, два или три входа, которые могут отличаться для каждого набора из этих 10 целых чисел.И еще одна вещь, она должна быть обратимой, то есть, используя эти входы, я могу получить исходное число.

Существует ли такая функция и возможно ли это?

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Звучит так, будто вы запрашиваете минимальный идеальный хэш . Такие функции существуют, есть алгоритмы их поиска и даже существующие библиотеки для работы .

1 голос
/ 17 июня 2011

Это довольно просто. Сопоставьте наименьшее число с 0, второе наименьшее с 1 и т. Д. Карта является обратимой, если и только если вы знаете набор чисел, с которого вы начали.

...