真の乱数
4093 ワード
srand編集
この語句は欠落している
情報欄は、関連内容を補充して単語をより完全にし、迅速にアップグレードすることができます.急いで編集しましょう.
srand関数は乱数発生器の初期化関数である.
目次
1概要
2例
▪例1(C言語)
▪例2(C言語)
▪例3(C++)
1概要編集
プロトタイプ:
void
srand(unsigned seed);
使用法:srandとrand()を組み合わせて擬似乱数シーケンスを生成します.rand関数は乱数を生成する前に,システムが提供する擬似乱数シーケンスを生成するシードが必要であり,randはこのシードの値に基づいて一連の乱数を生成する.システムが提供するシードが変化しない場合、rand関数を呼び出すたびに生成される擬似乱数シーケンスは同じです.srand(unsigned seed)は、パラメータseedによってシステムが提供するシード値を変更し、rand関数を呼び出すたびに生成される擬似乱数シーケンスを異なり、真の意味での「ランダム」を実現することができる.通常、システム時間を用いてシステムのシード値、すなわちsrand(NULL))を変更することができ、rand関数に異なるシード値を提供し、さらに異なる乱数シーケンスを生成することができる.
2例編集
例1(C言語)
0~100の整数を10個ランダムに出力
[1]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
例2(C言語)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
例3(C++)
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
この語句は欠落している
情報欄は、関連内容を補充して単語をより完全にし、迅速にアップグレードすることができます.急いで編集しましょう.
srand関数は乱数発生器の初期化関数である.
目次
1概要
2例
▪例1(C言語)
▪例2(C言語)
▪例3(C++)
1概要編集
プロトタイプ:
void
srand(unsigned seed);
使用法:srandとrand()を組み合わせて擬似乱数シーケンスを生成します.rand関数は乱数を生成する前に,システムが提供する擬似乱数シーケンスを生成するシードが必要であり,randはこのシードの値に基づいて一連の乱数を生成する.システムが提供するシードが変化しない場合、rand関数を呼び出すたびに生成される擬似乱数シーケンスは同じです.srand(unsigned seed)は、パラメータseedによってシステムが提供するシード値を変更し、rand関数を呼び出すたびに生成される擬似乱数シーケンスを異なり、真の意味での「ランダム」を実現することができる.通常、システム時間を用いてシステムのシード値、すなわちsrand(NULL))を変更することができ、rand関数に異なるシード値を提供し、さらに異なる乱数シーケンスを生成することができる.
2例編集
例1(C言語)
0~100の整数を10個ランダムに出力
[1]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include/* srand , */
#include
#defineMAX10
intmain(
void
)
{
intnumber[MAX]={0};
inti;
unsignedintseed;
scanf
(
"%d"
,&seed);
/* */
srand
(seed);
for
(i=0;i
{
number[i]=
rand
()%100;
/* 100 */
printf
(
"%d"
,number[i]);
}
printf
(
"
"
);
return0;
}
例2(C言語)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include
#include
#include/* time , */
#defineMAX10
intmain(
void
)
{
intnumber[MAX]={0};
inti;
srand
((unsigned)
time
(NULL));
/* */
for
(i=0;i
{
number[i]=
rand
()%100;
/* 100 */
printf
(
"%d"
,number[i]);
}
printf
(
"
"
);
return0;
}
例3(C++)
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
#include
#include
#include
usingnamespacestd;
intmain()
{
doublerandom(
double
,
double
);
srand
(unsigned(
time
(0)));
for
(inticnt=0;icnt!=10;++icnt)
cout<<
"No."
<
":"
<<
int
(random(0,10))<
return0;
}
doublerandom(doublestart,doubleend)
{
returnstart+(end-start)*
rand
()/(RAND_MAX+1.0);
}
// , 0-9// , 10,(RAND_MAX+1.0) (RAND_MAX)
/*
*No.1:3
*No.2:9
*No.3:0
*No.4:9
*No.5:5
*No.6:6
*No.7:9
*No.8:2
*No.9:9
*No.10:6*/