gpt4 book ai didi

c++ - 如何创建一个不重复的随机数?

转载 作者:太空宇宙 更新时间:2023-11-04 15:42:20 24 4
gpt4 key购买 nike

我有一个变量,它要么变成 1 要么变成 0,我只知道 rand()% 2

问题是当我循环它时,它会连续变成 1 大约四次然后 0,或者连续 6 次变成 0 然后 1。

我希望它一次或两次像 0,然后像 1,然后又像 0。像那样的东西。可以这样做吗?

最佳答案

您要么想要一个随机数,要么想要一个可预测的结果。您无法选择随机数,随机数生成器的全部意义在于生成不可预测的东西。

但是您可以做的只是以不同的方式使用随机数。如果你想最多连续运行 4 个 0 或 1,你可以使用 rand 确定连续数字的计数并自己生成数字:

int number = 0;
for (int runs = 0; runs < 100; ++runs) {
int count = rand() % 4;
for (int i = 0; i < (count ? count : 1); ++i) { // Ensure at least 1 run
printf("%d", number);
}
number = 1 - number;
}

参见键盘示例: http://codepad.org/OKe5Agib

关于c++ - 如何创建一个不重复的随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21215552/

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