1
1が最も多く(例えば50%)、次に2(30%が)、3が(1)となるように、ループ内で1から3までの10個の乱数を生成したい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