求一个特定区域内产生随机数不重复的算法.具体是这样的:区域是一个从0开始的“0、1、2、……、9、10、……46、47、……x、y”的等差为1的连续数列,数列项数不确定.在这个数列范围内,产

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 04:59:59
求一个特定区域内产生随机数不重复的算法.具体是这样的:区域是一个从0开始的“0、1、2、……、9、10、……46、47、……x、y”的等差为1的连续数列,数列项数不确定.在这个数列范围内,产

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

求一个特定区域内产生随机数不重复的算法.具体是这样的:区域是一个从0开始的“0、1、2、……、9、10、……46、47、……x、y”的等差为1的连续数列,数列项数不确定.在这个数列范围内,产
就是相当于n个数全排列
n个数每一种排列都对应产生一种数的出现的方法
答案n!

如果说是后产生的随机数若和前面产生的数相同则不显示,如何?

1。做一个数组,先按顺序将这个数列方入数组里
2。随机抽取数组中的2个数字对换位子
不停的重复2。n次(n越大越好)
3。再按顺序从数组里把每一个元素输出出来就可以了。

我写过的,不过先问一下你是要思路还是要算法,要算法就说一下用什么语言.
我先说一下思路,
先做一个数列,或者说Array,
数列中有你所说的比如m个数,
然后根据Random函数产生一个m以内的随机数n
然后输出Array中的第n个数
从Array中删除第n个数,
然后根据Random函数产生一个m-1以内的随机数n
然后输出Arra...

全部展开

我写过的,不过先问一下你是要思路还是要算法,要算法就说一下用什么语言.
我先说一下思路,
先做一个数列,或者说Array,
数列中有你所说的比如m个数,
然后根据Random函数产生一个m以内的随机数n
然后输出Array中的第n个数
从Array中删除第n个数,
然后根据Random函数产生一个m-1以内的随机数n
然后输出Array中的第n个数
从Array中删除第n个数,
然后根据Random函数产生一个m-2以内的随机数n
然后输出Array中的第n个数
从Array中删除第n个数,
...

收起

解答如下:
像这种题目就是求全排列的类型。
现在你题目中有y个数字,
第一次抽取时,共有y个数字可供选择,因此有y种可能性。
第二次抽取时,因不能重复,所以共有y-1个数字可供选择,因此有y-1种可能性。
第三次抽取时,也因不能重复,所以只有y-2个数字可供选择,因此有y-2种可能性。
根据上面可以类推出第四次,第五次……第y次
因此具体的答...

全部展开

解答如下:
像这种题目就是求全排列的类型。
现在你题目中有y个数字,
第一次抽取时,共有y个数字可供选择,因此有y种可能性。
第二次抽取时,因不能重复,所以共有y-1个数字可供选择,因此有y-1种可能性。
第三次抽取时,也因不能重复,所以只有y-2个数字可供选择,因此有y-2种可能性。
根据上面可以类推出第四次,第五次……第y次
因此具体的答案就为:y*(y-1)*(y-2)*(y-3)……*{y-(y-1)} = y!

收起

求一个特定区域内产生随机数不重复的算法.具体是这样的:区域是一个从0开始的“0、1、2、……、9、10、……46、47、……x、y”的等差为1的连续数列,数列项数不确定.在这个数列范围内,产 求java算法:如何生成一组不重复的随机数(比如1到10)Random类生成的随机数都会发生重复,但我想求一个随机数算法,不会产生重复的数(算法中不要用if来判定该随机数是否已出现过,否则执行效率 求各种产生随机数的算法 如何产生不重复随机数 如何产生不重复随机数 如何产生不重复随机数 怎样用java产生一个指定范围而且不重复的随机数? 编写一个函数,产生10以内不重复的随机数并输出. 我想产生一组401-500的随机数 不重复 如何用matlab在一个圆心原点,半径为4的区域内产生10个个随机数 c#中产生不重复的随机数我想做一个彩票双色球随机产生号码的系统,那怎样产生6个1-33之间不重复的随机数呢? C语言如何产生一组随机数帮忙把产生一组不重复的随机数的程序写一下 matlab如何产生不重复的随机数啊?比如我想实现产生8个1-----100的随机数,而且不要重复,我自己另外写了一个函数,但是感觉写得不好,有没有现成可用的函数啊? java随机生成6位数,要求每次产生的随机数与已生成的随机数不重复,小弟觉得用random产生的数可能重复. 请问如何用excel产生6组5个3-20的不重复的随机数 请问用C语言怎麼产生1至64的随机数?而且不重复的? 急,c#产生随机数,一到一百的不重复的 excel如何在一列中产生1-300不重复的随机数