我想从1到35中选择10个随机数。
我正在尝试执行以下操作,但我得到了一些重复的数字
int totalNumberCnt = 1;
while (totalNumberCnt < 11) {
int randomNumber1 = 1 + arc4random() % 35;
NSString *numberString = [NSString stringWithFormat: @"%d",randomNumber1];
NSLog(numberString);
[firstNumber addObject:numberString];
[secondNumber addObject:numberString];
totalNumberCnt++;
}
感谢您的帮助。
答案 0 :(得分:2)
预计会重复数字;毕竟它是随机,任何随机样本都将包含重复。
答案 1 :(得分:0)
int unique = 0;
int numbers[35];
for (int i = 0; i < 35; i++) {
numbers[i] = 0;
}
while (unique < 10) {
int x = arc4random() % 35;
if (numbers[x] == 0) {
numbers[x] = 1;
++unique;
}
}
for (int i = 0; i < 35; i++) {
if (numbers[i] == 1) {
NSString *str = [NSString stringWithFormat: @"%d", i];
NSLog(@"%@", str);
}
}