gpt4 book ai didi

c++ - 范围内的连续随机数

转载 作者:行者123 更新时间:2023-11-28 02:03:55 25 4
gpt4 key购买 nike

我有以下代码:

#include <iostream>
#include <cstdlib>
#include <ctime>

int getRandomNumber(int min,int max)
{
static const double fraction = 1.0/(static_cast<double>(RAND_MAX)+1.0);
return static_cast<int>(rand()*fraction*(max-min+1)+min);
}

int main()
{
srand(static_cast<int>(time(0)));
std::cout<<getRandomNumber(1,6);
return 0;
}

如果我连续运行这个程序,那么我得到相同的数字。但是当我用 cout 语句运行这个时:

std::cout<<getRandomNumber(1,6)<<getRandomNumber(1,6);

我每次都得到不同的数字。那这怎么可能??我错过了什么吗?

最佳答案

time() 函数返回以 为单位的时间,因此在同一秒内运行该程序两次或多次将导致随机数系统以恰好相同的数字。

关于c++ - 范围内的连续随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38319442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com