初入随机数时的思考
是我曾经的一些心路笔记,分享给初学者random函数
最开始了解到随机数函数,是在primer书上看到的random函数,后来才知道,random函数虽然是随机数,但是,其实它并不是标准函数,以至于在vs,vc上无法编译通过。
rand函数
于是,这时候,我才了解到了一个标准的函数rand,这个函数不需要单独的头文件,只需要最常见的即可运行,很是方便。
例子:
#include
#include
int main(){
int a = rand();
printf("%d\n",a);
return 0;
}
运行结果我就不列举了,因为是随机数值。
srand函数
我第一次了解到srand函数,是在一道题里看到的,当时很好奇这个和rand有什么区别,后来查询了资料才知道,rand是“伪随机”,比如,将上面的例子多次运行,会发现,它的数字不变了,这显然不是我们期望的。
这是由于rand也是公式推算的,而公式推导的结果类比于正态分布。
文章图片
因此,srand函数的作用就来了,通过重新计算,使得随机数依然不同。
void srand (unsigned int);
随机数可以有范围限制
举个例子:
int a = rand() % 100;
//产生0~100的随机数,注意100会被整除
【初入随机数时的思考】刚刚这个解释可能不够具体,再看下面这个
int a = rand() % 11 + 11;
rand()%11+13这个地方,我们可以看成两部分:rand()%10是产生 0~10 的随机数,后面+11保证 a 最小只能是 11,最大就是 10+11=21
好啦,今天的分享就到这儿了,希望这个博客可以帮助到为这个问题疑惑的同学。
推荐阅读
- 当我转到“设置”时,Android Studio会冻结
- 将OneSignal插件添加到Ionic App后生成APK时出错
- 投稿|被时代抛弃的汤臣倍健
- U盘拷贝时提示文件过大怎样办,图文详细说明如何处理
- FPGA|quartus 时序约束分析1----乘法器
- 从Android中的Intent中选择时,文件返回空(“”)
- Android Xamarin-使用SQLite时打开计划的通知会停止重复并崩溃
- 构建gradle时出错 - com.google.android.gms(各种其他库正在请求play-services-basement)
- 当我使用Qt Android Extras C ++ Classes时,如何防止Windows上的错误
- 微信应用号啥时候推出?_微信