作业帮 > 综合 > 作业

求一个特定区域内产生随机数不重复的算法.具体是这样的:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 04:41:32
求一个特定区域内产生随机数不重复的算法.具体是这样的:
区域是一个从0开始的“0、1、2、……、9、10、……46、47、……x、y”的等差为1的连续数列,数列项数不确定.
在这个数列范围内,产生一个随机数,再产生一个,再产生一个……,不是一下产生好多来,而是一个一个出来.要求每产生一个随机数,都不能和以前产生过的重复,比如范围是1=10,第一次产生的随机数是3,第二次就不能是3,假设是5,那么第三次产生的就不能是3和5了,假设是8,那么第四次产生的就不能是3、5、8……,也就是每一次产生的范围都在缩小,直到这个数列中的数字完全被出现过为止.
求这种算法,不要给代码,把算法说清楚就可以了.
各位大仙一定要说清楚,说详细啊……
每次必须产生符合条件的随机数,跳过的方法不行。
要求每次产生都是独立的,而不是一把输出
就是相当于n个数全排列
n个数每一种排列都对应产生一种数的出现的方法
答案n!