【发布时间】:2017-03-24 23:59:11
【问题描述】:
我想在循环中生成 10 个 1 到 3 之间的 c++ 随机数,这样 1 出现的次数最多(比如 50% 次),然后是 2 个(30% 次),然后是 3 个(20% 次)。有可能这样做吗?
我已经编写了以下代码来获取 1 到 3 之间的随机数,但我将如何添加概率?
#include <iostream>
#include <windows.h>
#include "time.h"
int main(int argc, char*argv[])
{
srand ( time(NULL) );
for (int t = 0; t < 10; t++)
{
int random_x;
random_x = rand() % 3+1;
std::cout << "\nRandom X = " << random_x << std::endl;
}
Sleep(50000);
return 0;
}
【问题讨论】:
-
您可以查看内置发行版here
标签: c++ random probability