在C 中均匀地将随机数均匀
make random numbers evenly in c++
本文关键字:随机数 更新时间:2023-10-16
我想列出数字列表0,1,2,即16个元素,每个数字出现相等的次数(plus或sigus 1)
因此,结果看起来就是这样: 0, 1, 0, 2, 1, 2, 1, 0, 2, 2, 1, 1, 0, 0, 2, 0
每个数字出现的次数
0 : 6
1 : 5
2 : 5
这是我的代码,有什么想法均匀的?
srand(time(NULL));
for(int j = 0; j < 16; j++)
{
int num = rand() % 3;
if(j == 15)
cout << num;
else
cout << num << ",";
}
您可以创建一个相等数量的值的列表,然后随机洗牌。
类似的东西:
#include <algorithm>
#include <iostream>
#include <random>
#include <vector>
int main()
{
std::vector<int> v;
// 16 numbers between 0-3 equally divided
for(auto i = 0; i < 16; ++i)
v.push_back(i % 3);
// mt is a random number generator
std::mt19937 mt{std::random_device{}()};
// randomly shuffle the numbers
std::shuffle(std::begin(v), std::end(v), mt);
for(auto i: v)
std::cout << " " << i;
std::cout << 'n';
}
输出:
0 2 0 1 0 1 0 1 2 2 0 1 1 2 2 0
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 整数不会重复超过随机数
- if数组上的随机数
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 半随机数生成C++
- 程序在尝试猜测它选择的随机数时进入无限循环?
- 有没有办法在 c++ 中同时生成随机数?如果没有,是否有解决方法?
- 具有随机数的二维数组不会更改
- 随机数未达到限制
- 我想生成许多矩阵并用随机数填充它
- <random>在实践中应该实际使用哪个随机数引擎? std::mt19937?
- 制作具有平均值的随机数生成器
- 为什么 rand 不在我的代码中生成随机数?
- C++ 随机数生成器:尝试将结果作为向量获取,但通过制作 void 函数来执行此操作而出现错误
- 从给定种子生成相同的随机数序列C++
- 随机数生成函数说明
- C++ 尝试生成随机数时弹出警告帮助?
- 尝试在 c++ 中创建随机数生成器并收到错误
- 从给定的随机数组值生成随机数 Arduino程序C++
- 如何在个人计算机和群集 (c++) 上生成相同的随机数