1
我想要在1到3之间的C++中产生10个随机数,这样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;
}
您可以查看内置发行版[此处](http://en.cppreference.com/w/cpp/numeric/random) – NathanOliver