C++ 生成随机数
#include <cstdio> #include <cstdlib> #include <ctime> srand(time(NULL)); // 设置随机数种子 // 0~1之间的浮点数;1~10可改为 rand() /(double)(RAND_MAX/10), double x = (double)rand() / RAND_MAX;
0.327769
0.393658
0.106876
0.767449
0.326518
0.859951
0.927732
0.727439
0.699026
0.007202
0.236152
0.803858
0.169134
0.983917
0.063356
0.534806
其他的随机数的范围通式
产生一定范围随机数的通用表示公式是:
要取得[0,n) 就是rand()%n 表示 从0到n-1的数
要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;
要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;
要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1;
通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。
要取得a到b之间的随机整数,另一种表示:a + (int)b * rand() / (RAND_MAX + 1)。
要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。
随机生成 [a, b) 的浮点数
x = a + 1.0 * (rand() % RAND_MAX) / RAND_MAX * (b - a);
随机生成 [a,b] 的浮点数
x = a + 1.0 * rand() / RAND_MAX * (b - a);
Less interests,more interest!