gpt4 book ai didi

c++ - 执行代码 x 百分比的时间

转载 作者:行者123 更新时间:2023-11-30 03:42:44 29 4
gpt4 key购买 nike

我有一只动物,它在 while 循环中生活了很多天。

归根结底,她有 40% 的机会生 child ,

class Animal
{
public:
double chance_of_birth;
...

public Animal(..., int chance)
{
this.chance_of_birth = chance;
...
}
}

// create this animal
Animal this_animal = new Animal(..., .50);

鉴于我创造的每只动物都有特定的生育机会,我如何才能编写一个条件,使其仅在 chance_of_birth 百分比的时间内评估为真?

我知道我想使用 rand(),但我以前从未这样使用过它。

按照

if(this_animal->chance_of_birth ???)
{
//will give birth
}

最佳答案

c++11你可以使用图书馆 <random> .
在下面的示例中,我使用了 std::uniform_real_distribution<>生成 0 - 1 范围内的随机浮点值

#include <iostream>
#include <random>
using namespace std;

double random(int min, int max)
{ // we make the generator and distribution 'static' to keep their state
// across calls to the function.
std::random_device rd;
static std::mt19937 gen(rd());
static std::uniform_real_distribution<> dis(min, max);
return dis(gen);
}

int main()
{
double f = random(0,1); // range 0 - 1
cout << f << '\n';
}

现在您可以在 if statement 中使用该随机浮点值仅在条件为真时运行。

if (f <= 0.40) { ... }

关于c++ - 执行代码 x 百分比的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36667833/

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