我如何(伪)随机生成0或1?
注意:不在0和1之间。
答案 0 :(得分:5)
在C ++ 11中,你可以这样做:
#include <iostream>
#include <random>
#include <chrono>
int main()
{
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::mt19937_64 generator (seed);
std::uniform_int_distribution<int> distribution(0, 1);
for (int i = 0; i < 100; i++)
std::cout << distribution(generator);
}
或者在评论中做C风格的建议:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
srand(time(0));
for (int i = 0; i < 100; i++)
std::cout << rand() % 2;
}