Game Design
數(shù)學(xué)、物理、圖形學(xué)、匯編/C/C++數(shù)據(jù)結(jié)構(gòu)與算法、windows程序設(shè)計(jì)
C++博客
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
隨筆-11 評(píng)論-20 文章-0 trackbacks-0
生成隨機(jī)數(shù)的一個(gè)工具類(lèi)
1
#include
<
iostream
>
2
#include
<
time.h
>
3
4
using
namespace
std;
5
6
//
generate random numbers
7
class
randomNumber
8
{
9
public
:
10
//
initialize the random number generator
11
randomNumber(
long
s
=
0
);
12
13
//
return a 32-bit random integer m, 1 <= m <= 2^31-2
14
long
random();
15
16
//
return a 32-bit random integer m, 0 <= m <= n-1,
17
//
where n <= 2^31-1
18
long
random(
long
n);
19
20
//
return a real number x, 0 <= x < 1
21
double
frandom();
22
23
private
:
24
static
const
long
A;
25
static
const
long
M;
26
static
const
long
Q;
27
static
const
long
R;
28
29
long
seed;
30
}
;
31
32
const
long
randomNumber::A
=
48271
;
33
const
long
randomNumber::M
=
2147483647
;
34
const
long
randomNumber::Q
=
M
/
A;
35
const
long
randomNumber::R
=
M
%
A;
36
37
randomNumber::randomNumber(
long
s)
38
{
39
if
(s
<
0
)
40
s
=
0
;
41
42
if
(s
==
0
)
43
{
44
//
get time of day in seconds since 12:00 AM,
45
//
January 1, 1970
46
long
t_time
=
time(NULL);
47
48
//
mix-up bits by squaring
49
t_time
*=
t_time;
50
//
result can overflow. handle cases
51
//
> 0, < 0, = 0
52
if
(t_time
>
0
)
53
s
=
t_time
^
0x5EECE66DL
;
54
else
if
(t_time
<
0
)
55
s
=
(t_time
&
0x7fffffff
)
^
0x5EECE66DL
;
56
else
57
s
=
0x5EECE66DL
;
58
}
59
60
seed
=
s;
61
}
62
63
long
randomNumber::random()
64
{
65
long
tmpSeed
=
A
*
( seed
%
Q )
-
R
*
( seed
/
Q );
66
67
if
( tmpSeed
>=
0
)
68
seed
=
tmpSeed;
69
else
70
seed
=
tmpSeed
+
M;
71
72
return
seed;
73
}
74
75
long
randomNumber::random(
long
n)
76
{
77
double
fraction
=
double
(random())
/
double
(M);
78
79
return
int
(fraction
*
n);
80
}
81
82
double
randomNumber::frandom()
83
{
84
return
double
(random())
/
double
(M);
85
}
86
posted on 2009-08-24 19:35
diwayou
閱讀(1965)
評(píng)論(1)
編輯
收藏
引用
所屬分類(lèi):
數(shù)據(jù)結(jié)構(gòu)與算法
評(píng)論:
#
re: 生成隨機(jī)數(shù)的一個(gè)工具類(lèi)
2011-04-05 18:12 |
shilei230
能否解釋下什么原理不?這里的魔數(shù)真不少
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
各種排序算法性能測(cè)試結(jié)果
簡(jiǎn)單的測(cè)試各種排序算法的性能
一個(gè)簡(jiǎn)單的計(jì)算程序運(yùn)行時(shí)間的工具類(lèi)
計(jì)算以t為根的子樹(shù)的結(jié)點(diǎn)個(gè)數(shù)
生成隨機(jī)數(shù)的一個(gè)工具類(lèi)
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
<
2011年4月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
(10)
Real-Time Rendering_3rd
windows程序設(shè)計(jì)(1)
生活(2)
數(shù)據(jù)結(jié)構(gòu)與算法(5)
數(shù)學(xué)(1)
圖形學(xué)
物理
游戲(1)
隨筆檔案
(11)
2009年9月 (3)
2009年8月 (8)
相冊(cè)
宇多田光
搜索
積分與排名
積分 - 15577
排名 - 963
最新評(píng)論
1.?re: 生成隨機(jī)數(shù)的一個(gè)工具類(lèi)
能否解釋下什么原理不?這里的魔數(shù)真不少
--shilei230
2.?re: 讓我們這些中國(guó)二流大學(xué)的學(xué)生也聽(tīng)聽(tīng)世界一流大學(xué)的計(jì)算機(jī)課程(轉(zhuǎn))
太好了,多謝博主!
--鄧強(qiáng)
3.?re: 讓我們這些中國(guó)二流大學(xué)的學(xué)生也聽(tīng)聽(tīng)世界一流大學(xué)的計(jì)算機(jī)課程(轉(zhuǎn))
是的師傅是大方
--羅萊家紡
4.?re: 讓我們這些中國(guó)二流大學(xué)的學(xué)生也聽(tīng)聽(tīng)世界一流大學(xué)的計(jì)算機(jī)課程(轉(zhuǎn))
不錯(cuò)~分享了
--樂(lè)蜂網(wǎng)
5.?re: 讓我們這些中國(guó)二流大學(xué)的學(xué)生也聽(tīng)聽(tīng)世界一流大學(xué)的計(jì)算機(jī)課程(轉(zhuǎn))
牛
--李佳
閱讀排行榜
1.?讓我們這些中國(guó)二流大學(xué)的學(xué)生也聽(tīng)聽(tīng)世界一流大學(xué)的計(jì)算機(jī)課程(轉(zhuǎn))(4601)
2.?各種排序算法性能測(cè)試結(jié)果(2178)
3.?生成隨機(jī)數(shù)的一個(gè)工具類(lèi)(1965)
4.?簡(jiǎn)單的測(cè)試各種排序算法的性能(1769)
5.?計(jì)算幻方(1510)
評(píng)論排行榜
1.?讓我們這些中國(guó)二流大學(xué)的學(xué)生也聽(tīng)聽(tīng)世界一流大學(xué)的計(jì)算機(jī)課程(轉(zhuǎn))(9)
2.?簡(jiǎn)單的測(cè)試各種排序算法的性能(4)
3.?各種排序算法性能測(cè)試結(jié)果(2)
4.?暴雪CEO解讀吸引全球千萬(wàn)玩家的商業(yè)秘密(2)
5.?生成隨機(jī)數(shù)的一個(gè)工具類(lèi)(1)
6.?以后不能逃課了(1)
7.?計(jì)算幻方(1)
8.?計(jì)算以t為根的子樹(shù)的結(jié)點(diǎn)個(gè)數(shù)(0)
9.?一個(gè)簡(jiǎn)單的計(jì)算程序運(yùn)行時(shí)間的工具類(lèi)(0)
10.?erroe C2471解決辦法(0)
11.?2009年9月語(yǔ)言排行榜:PHP超越C++(轉(zhuǎn)自CSDN:我鐘愛(ài)的C++和python啊)(0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 diwayou
av无码久久久久不卡免费网站
|
日本精品久久久久影院日本
|
色婷婷久久综合中文久久蜜桃av
|
无码国产69精品久久久久网站
|
久久免费99精品国产自在现线
|
香蕉久久永久视频
|
WWW婷婷AV久久久影片
|
久久婷婷五月综合色99啪ak
|
亚洲国产精品久久久天堂
|
亚洲国产精品热久久
|
久久国产免费直播
|
国产免费福利体检区久久
|
日韩乱码人妻无码中文字幕久久
|
天天久久狠狠色综合
|
亚洲va久久久噜噜噜久久
|
狠狠人妻久久久久久综合
|
亚洲人成精品久久久久
|
99精品久久久久久久婷婷
|
久久精品国产久精国产思思
|
久久九九亚洲精品
|
国内精品久久久久影院一蜜桃
|
久久亚洲精品国产亚洲老地址
|
久久毛片免费看一区二区三区
|
久久精品视频网
|
丰满少妇高潮惨叫久久久
|
久久亚洲日韩精品一区二区三区
|
一极黄色视频久久网站
|
久久精品综合一区二区三区
|
国产2021久久精品
|
香蕉久久一区二区不卡无毒影院
|
欧美日韩精品久久久久
|
久久99久久无码毛片一区二区
|
久久精品国产亚洲一区二区
|
久久精品国产亚洲AV无码偷窥
|
久久综合欧美成人
|
国产精品久久久久久福利漫画
|
久久亚洲欧美国产精品
|
麻豆精品久久久一区二区
|
7国产欧美日韩综合天堂中文久久久久
|
久久久久久久久无码精品亚洲日韩
|
伊人久久亚洲综合影院
|