Math 数学函数映射整数集

Math 数学函数映射整数集,math,mapping,integer,Math,Mapping,Integer,我需要一个函数,将a和b之间的任意m个整数(其中b-a>m)映射为0到m-1之间的整数。a和b之间的m个整数可能不是任何顺序。映射可以是任何顺序,只要是一对一映射 例如,我有一组介于10和50之间的整数,我随机选取任意10个整数,并将它们映射到0-9。该函数可以接受一个、两个或三个输入,这些输入对于这10个整数的每组可能不同。还有一件事,它必须是可逆的,也就是说,使用这些输入,我可以得到原始的数字 是否存在这样的功能,是否可能 这相当容易。将最小的数字映射为0,第二个最小的数字映射为1,等等。当

我需要一个函数,将a和b之间的任意m个整数(其中b-a>m)映射为0到m-1之间的整数。a和b之间的m个整数可能不是任何顺序。映射可以是任何顺序,只要是一对一映射

例如,我有一组介于10和50之间的整数,我随机选取任意10个整数,并将它们映射到0-9。该函数可以接受一个、两个或三个输入,这些输入对于这10个整数的每组可能不同。还有一件事,它必须是可逆的,也就是说,使用这些输入,我可以得到原始的数字


是否存在这样的功能,是否可能

这相当容易。将最小的数字映射为0,第二个最小的数字映射为1,等等。当且仅当您知道开始时的数字集时,该映射才是可逆的。

听起来您好像在要求一个数字。这样的函数确实存在,有找到它们的算法,甚至。

您是在寻找纯计算函数还是可能涉及一些控制流逻辑?您可以使用一些数据结构来维护映射吗?它意味着函数可以接受一个、两个或三个输入吗?其中一个输入可能是随机数列表。。。你已经完成了(见彭根的答案)所以。。。集合有界的重要性是什么?@belisarius:我不理解你的问题,我只是想理解这个问题。请看我对问题本身的评论。OP提供的一半事实不需要用于您的算法。(我不是说这是错的,只是在想为什么OP说集合是在已知数之间的,等等)@belisarius:我只是假设他在某个范围内随机抽取N个整数样本,并希望将它们映射到0…N-1。不知道他是不是这个意思,但这是我理解这个问题的唯一方法。也许你是对的。此外,对函数的要求可能需要一个、两个或三个输入,这似乎很奇怪:)