回 帖 发 新 帖 刷新版面

主题:moz 这样可以做不?

刚看了随机数的问题 突然想到 加了randomize timer 以后(rnd*x) 会得到x个随机的数 是因为时间在变, 假如我现在有了 x 个随机数 想知道当时的time 怎么才可以作到?

回复列表 (共13个回复)

沙发

这样可以么?
我记得QBasic是randomize,然后rnd(x),如果x不等于0就是取随机数,x=0则是取前一个随机数。

板凳

randomize timer

randomize的意思是以后随的值为参数,重置随机数种子(相当于随机数队列)
timer是午夜起流逝的秒数,是拿来作参数的,你可以拿其他数值来做种子的。
目的是避免每次运行时都得到相同的结果。

3 楼


rnd(*x) 是为了得到一个以内的数 比如x = 100 这是看需要了!

 我的意思是 先得到了一个随机序列 
  且不知道这个种子数的大小
    如何得到这个序列的随机种子数?
  
       如果可以 麻烦写出来 谢谢!!

4 楼

我不知道QB获得种子后的随机数列是什么原理,
所以我不知道这个函数是否可逆。
应该说可能性不大,而且是非常的没必要。

5 楼


 呵呵  有没有必要是另一回事 , 
  
   既然给定了一个种子数将得到 一个固定的随机序列
    那么 从道理上讲 一个随机序列 就有一个对应的种子数!
    只是做起来怕是麻烦点!
     有能够解决这个问题的高手别怕麻烦! 我先谢啦!!!!

6 楼

我举一个例子:
一个祖先,衍生出一代代的后代出来,(这当然是由那个祖先所决定后代的序列了)
但,你能根据某一个后代序列,推算出来他们是祖先是哪个吗?

7 楼


 呵呵  原来是这样啊!
  我看研究基因的人是没什么前途了......[em1]

8 楼

用穷举法搜索,用时间得到的随机种子只有65535种
你把这65535种的数列列出来
然后用已经生成的数列去对照,就知道是哪个种子了

嘿嘿!!这是个不错的笨办法

9 楼

那你要不要研究一下不同的机器不同的时间不同的位置会不会有不同的数列?

10 楼

65535个种子,
我要储存多少个数值?只存头两个可以吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册