我陷入了一个关于随机数的问题。我正在使用arc4random()
. 我想首先生成 0-9 之间的随机数。所以我正在使用:
int RandomNumber = arc4random() % 9;
很好。现在假设我得到了 8。我不希望我的新随机数是 8。所以我做了以下工作:
NSMutableArray *aryTemp = [NSMutableArray new];
for (int i = 0; i < [aryTemp Count] < 9; i++) {
int RandomNumber;
do {
RandomNumber = arc4random() % 9;
}
while ([aryTemp containsObject:[NSNumber numberWithInt:RandomNumber]])
[aryTemp addObject:[NSNumber numberWithInt:RandomNumber]];
}
所以我生成一个随机数,而不是将其添加到数组中,而不是检查下一个随机数是否是上一个生成的随机数?如果不是,则将其添加到数组中。
它适用于少数起始数字,但是当我当时没有多少选择时,我生成所需随机数的机会非常少,而由于冗余随机数,循环过程需要大量时间。
我在找什么我想要0、1、2、3、4、5、6、7、8、9的随机数如果我下次第一次得到6,随机数必须在这些数字中只有0, 1、2、3、4、5、7、8、9