C++ Random 的使用
2024-10-15 08:03:05
1、rand() 方法
rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 这样,如果你要产生0~10的10个整数,可以表达为:
|
int N = rand () % 11; |
这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样:
|
int N = 1 + rand () % 10; |
总结来说,可以表示为:
|
a + rand () % n |
2、random库使用
#include <iostream>
#include <random>
using std::cout; using std::endl;
using std::default_random_engine;
int main()
{
default_random_engine e;
for (size_t i = ; i < ; ++i) //生成十个随机数
cout << e() << endl;
cout << "Min random:" << e.min() << endl; //输出该随机数引擎序列的范围
cout << "Max random:" << e.max() << endl;
return ;
}
--修改随机种子
#include <iostream>
#include <random> using std::cout; using std::endl;
using std::default_random_engine; int main()
{
default_random_engine e; //或者直接在这里改变种子 e(10)
e.seed(); //设置新的种子
for (size_t i = ; i < ; ++i)
cout << e() << endl;
cout << "Min random:" << e.min() << endl;
cout << "Max random:" << e.max() << endl; return ;
}
参考 :
https://www.cnblogs.com/byhj/p/4149467.html
http://www.cplusplus.com/reference/random/?kw=random
最新文章
- iOS开发之XCode模拟器不能连接网络
- 基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览
- 在Ubuntu下爽快开发Android必要的5款装备
- BZOJ3742 : Painting
- [Javascript] delete keyword
- 【图像配准】基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA、SATD算法
- 【视频】零基础学Android开发:蓝牙聊天室APP(四)
- nuget 命令详解
- 文件的默认权限UMASK
- 201521123014 《Java程序设计》第5周学习总结
- Java使用Aspose组件进行多文档间的转换操作
- Python 中使用 matplotlib 绘图中文字符显示异常的问题
- HDU 1019(求最小公倍数 **)
- SQL Anywhere .NET
- Python生态工具、文本处理和系统管理(虚拟)
- solr之创建core(搜索核心,包括索引和数据)的方法
- Intellij IDEA设置及快捷键使用总结
- java日志-纯Java配置使用slf4j配置log4j(转)
- [WIFI] WIFI 破解(初级)
- 【SSH网上商城项目实战08】查询和删除商品类别功能的实现