C++随机数简单应用
下面这段代码给出了最基本的使用:#include <iostream>#include <time.h>using namespace std;int main() {srand(time(NULL));// 设置种子,以时间戳为种子以保证每次数字不同rand();// 看下面的解释// 输出一个0~RAND_MAX的数:RAND_MAX值为32767~2147483647
·
异想之旅:本人原创博客完全手敲,绝对非搬运,全网不可能有重复;本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告。本人所有文章仅在CSDN和个人博客(一定是异想之旅域名)发布,除此之外全部是盗文!
下面这段代码给出了最基本的使用:
#include <iostream>
#include <time.h>
using namespace std;
int main() {
srand(time(NULL)); // 设置种子,以时间戳为种子以保证每次数字不同
rand(); // 看下面的解释
// 输出一个0~RAND_MAX的数:RAND_MAX值为32767~2147483647(short和int的上限)
cout << rand() << endl;
// 输出一个0~100的数
cout << rand() % 101 << endl;
// 输出一个50~150的数
cout << 50 + rand() % 101 << endl;
return 0;
}
rand
和 srand
函数本身在头文件 iostream
中(严格来讲是 stdlib.h
,但是不知道为什么这样也能行),但是为了使用时间戳作为种子,所以导入 time.h
当然一个万能头也能解决问题
如果不设置时间戳作为种子,生成的数字每次都将会是一样的
另外使用时间戳后如果密集执行程序,由于种子(时间戳)接近,每次生成的第一个随机数也十分接近,所以可以如第8行先消耗一次随机数数列的第一个。(毕竟没研究算法原理,具体原因不知道,只是根据个人使用现象总结经验)
先写到这,要是有人点赞的话再来补较大的随机数生成方案
更多推荐
已为社区贡献4条内容
所有评论(0)