如何每分钟创建一个随机数

How to create random number every minute

我有一个问题。 "random number of customers arriving for a check out is between 5 and 10 every minute." 我需要根据他们到达时间的顺序将这些客户放在一个列表中。

我不知道如何每分钟生成一个随机客户数,也不知道如何假设他们的到达时间。

这是 Nachos 服务器使用 c++ 代码并使用 threadtest.c 代码

使用毒药分布。这将创建一个包含 3600 个整数的向量,每个整数都有在那一秒内进来的客户数量。向量的索引是时间戳。

请记住,在任何给定的一秒钟内,有时会有超过 1 位顾客进来。如果是这样,每个客户都会有相同的时间戳。根据需要更改时间分辨率。您还可以只创建一个包含时间和 customer_count 的元组向量,并在任何给定秒内仅推送一个或多个客户到达的条目。那是你的任务。这是为了说明泊松分布。

#include <iostream>
#include <random>
#include <vector>

int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::poisson_distribution<> d(5/60.0);  // set average for Poisson distribution for 5 per minute

    std::vector<int> customers_at_each_second;
    int total_customers = 0;
    for (int i = 0; i < 3600; i++)
    {
        int customers_at_this_second = d(gen);
        customers_at_each_second.push_back(customers_at_this_second);
        total_customers += customers_at_this_second;
    }
    std::cout << "Total Customers in the hour " << total_customers << '\n';
}