首页
社区
课程
招聘
[旧帖] [求助]关于Random函数的神奇之处……大侠们研究一下!!!太灵异了! 0.00雪花
发表于: 2011-10-6 17:21 1806

[旧帖] [求助]关于Random函数的神奇之处……大侠们研究一下!!!太灵异了! 0.00雪花

2011-10-6 17:21
1806
Random这个函数后面有一个参数,按理说是产生随机数的一个范围!比如是5的话,那么就产生0,1,2,3,4随机的一个数!但是,当参数是2的时候,为什么只有1,而不产生0呢(已经大量的誓言了,至少运行50次,但是只有1,没有0)?我弄成3的时候,会产生0,1,2三个随机数,各位大侠知道什么原因吗?

[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 56
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
百度了一下这个函数的说明,也没错啊,百度结果如下

它是随机数字产生函数   random函数返回一个0~num-1之间的随机数. random(num)是在stdlib.h中的一个宏定义. num和函数返回值都是整型数.

神奇啊
2011-10-6 17:25
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个函数还真是不清楚的哦
2011-10-6 19:04
0
雪    币: 56
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
是啊,很神奇的函数……
2011-10-6 19:08
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
长见识了我
2011-10-6 20:02
0
雪    币: 416
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
random 按照理論上,是利用數學算法做出來的一個假的亂數,因為如果你給他的基準一樣,那他就會給你一樣的亂數。

基本上如果你要完全的亂數,你需要用時間,當作基準。這樣就會產生完全的亂數。

因為random當初只是要這次和下次的執行不要一樣的數字,所以她只會在同一次執行的期間亂數,如果是不同執行比較,會發現你給的基準一樣,亂數會一樣。

至於你說的那個問題,那個就是他random數學算法的問題
2011-10-6 20:14
0
雪    币: 56
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
嗯,谢谢啊!那看来要自己弄个根据时间得出来的数字,当作随机数了!谢谢!嘿嘿!
2011-10-6 20:56
0
雪    币: 2676
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
ansi C 里只有rand函数,并且是无参的,stdlib.h里也没有random的宏定义,至少MinGW gcc (GCC) 4.5.2和Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86编译器中是没有,不知到底确切是哪个函数?
2011-10-6 23:01
0
雪    币: 416
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不過你給2,範圍太小了,可能他的algorithm 算出來,剛好都是1,你可能需要執行大概65535還是1048575看看,執行較多次,可能就會看到0
2011-10-6 23:13
0
雪    币: 56
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
windows里面的一个API吧,头文件是
include                Stdlib.Inc
includelib                         Stdlib.lib
2011-10-6 23:35
0
雪    币: 56
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
天哪,还是算了吧,太多次了!就是个换桌面,而且图片也很多!
2011-10-6 23:35
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
没有接触过这个函数啊 了解下了
2011-10-7 08:55
0
雪    币: 416
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
如果不要的話,你就將給的數字加大,因為你給的2,範圍其實很小,在他algorithm裡面可能很容易算出1。
2011-10-7 11:41
0
雪    币: 56
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
是啊,如果给2的话,我突然感觉自己好2啊
2011-10-7 12:42
0
游客
登录 | 注册 方可回帖
返回