【问题标题】:How to Generate 32 bit integers random number using marsenne twister Algorithm如何使用 marsenne twister 算法生成 32 位整数随机数
【发布时间】:2019-11-25 09:52:41
【问题描述】:

如何使用 marsenne twister 算法生成 32 位整数随机数?并将其保存为二进制文件。

【问题讨论】:

标签: c# python random mt19937


【解决方案1】:
#include <algorithm>
#include <fstream>
#include <ios>
#include <iostream>
#include <iterator>
#include <ostream>
#include <random>
#include <vector>

int main()
{
    // Create the random number engine
    std::mt19937::result_type seed = std::random_device()();
    auto engine = std::mt19937(seed);
    auto random = [&engine]() { return engine(); };

    // Generate some random numbers
    auto constexpr n = 1000;
    auto numbers = std::vector<std::mt19937::result_type>();
    std::generate_n(std::back_inserter(numbers), n, random);

    // Write them out to a file
    auto fout = std::ofstream("random_numbers.bin", std::ios::binary);
    fout.write(reinterpret_cast<const char*>(numbers.data()), 
        n * sizeof(decltype(numbers)::value_type));

    return 0;
}

【讨论】:

  • 我看不懂伪代码,请给我真实代码@user515430
  • 它是 C++,不是伪代码。任何语言的步骤(但不是语法)都是相同的。
  • 这是我尝试过的代码MT199937 CODE 我不知道如何获取 32 位随机整数并将输出发送到二进制文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多