在没有数组的情况下迭代[0..n]

Pro*_*ack 8 language-agnostic random algorithm math

我知道几个例程如下:

X n + 1 =例程(X n,max)

例如,类似于LCG发生器:

X n + 1 =(a*X n + c)mod m

此生成器中没有足够的参数化来生成每个序列.

梦想功能:

X n + 1 =例程(X n,max,置换数)

该例程通过索引到所有排列集合中进行参数化,将返回序列中的下一个数字.序列可以是任意大的(因此存储阵列并使用事实数字是不切实际的.

如果失败了,是否有人指向类似的函数,这些函数要么是无状态的,要么具有任意"max"的恒定状态,这样它们就会迭代一个混洗列表.

Chr*_*ssl 0

是否可以在不事先计算并将整个排列存储在内存中的情况下对一组排列进行索引?我之前尝试过类似的方法,但没有找到解决方案 - 我认为这是不可能的(在数学意义上)。

免责声明:我可能误解了你的问题......