gpt4 book ai didi

ios - 新的 arc4random()%x;与以前的号码不同

转载 作者:行者123 更新时间:2023-11-28 21:35:42 29 4
gpt4 key购买 nike

我有这行代码来计算一个随机数:

    myRand = arc4random()%24; //0:23

为了不生成与之前生成的数字相同的数字,最有效的添加方法是什么。

我不是要随机播放所有 24 个,因为我确实想要重复,只是最好不要直接将 2 个相同的数字放在一起......

我想单独存储以前的数字,然后比较它,如果匹配,再做一次,但我无法弄清楚,例如相同的数字连续出现 3 次......我不太可能知道,但这是可能的。

谢谢。

最佳答案

在 ivar 中保留对先前生成的数字的引用。

NSInteger lastRandom;

并将其初始化为-1

然后当你想要一个新的随机数时,你可以这样做:

NSInteger newRandom;
do {
newRandom = arc4random_uniform(24);
while (newRandom != lastRandom);
lastRandom = newRandom;

这个小循环将确保您的新随机数与上次生成的随机数不同。

关于ios - 新的 arc4random()%x;与以前的号码不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34009123/

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